diff --git a/qa/1060 b/qa/1060 index f46b8a20e5..dc2ca904b1 100755 --- a/qa/1060 +++ b/qa/1060 @@ -42,21 +42,17 @@ _report() # Note: some versions of ls(1), e.g. OS X, don't report directory # names from the command line (so no pmie: line below) # - (cd $tmp; ls -lR pmie ) | $PCP_AWK_PROG ' -$1 == "pmie:" { next } + # and the 12.YYYYMMDD pmie_check summary file may, or may not be there + # + (cd $tmp; ls -lR pmie ) | tee -a $here/$seq.full | $PCP_AWK_PROG ' +$1 == "pmie:" { next } +$NF ~ /^12\.[0-9]/ { next } NF < 4 { print; next } { print "mode=" $1 " user=" $3 " group=" $4 " name=" $NF }' \ | sed \ -e '/\.prior/d' \ -e '/\.prev/d' \ -e '/^total /d' \ - -e 's/[2-9][0-9][0-9][0-9]:$/YYYY:/' \ - -e 's/[2-9][0-9][0-9][0-9]\/[01][0-9]:$/YYYY\/MM:/' \ - -e 's/[2-9][0-9][0-9][0-9]\/[01][0-9]\/[0-3][0-9]:$/YYYY\/MM\/DD:/' \ - -e 's/=[2-9][0-9][0-9][0-9]$/=YYYY/' \ - -e 's/=[0-3][0-9]$/=NN/' \ - -e 's/[2-9][0-9][0-9][0-9][01][0-9][0-3][0-9]/YYYYMMDD/' \ - -e 's/[012][0-9]\.[0-5][0-9]\./HH.MM./' \ -e 's/\. user=/ user=/' \ -e '/name=lock/d' \ # end diff --git a/qa/1060.out b/qa/1060.out index 2478b33b8f..6384610d58 100644 --- a/qa/1060.out +++ b/qa/1060.out @@ -2,11 +2,11 @@ QA output created by 1060 mode=drwxrwxr-x user=pcp group=pcp name=myhost pmie/myhost: -mode=drwxrwxr-x user=pcp group=pcp name=YYYY +mode=drwxrwxr-x user=pcp group=pcp name=2017 -pmie/myhost/YYYY: -mode=drwxrwxr-x user=pcp group=pcp name=NN +pmie/myhost/2017: +mode=drwxrwxr-x user=pcp group=pcp name=02 -pmie/myhost/YYYY/MM: -mode=-rw-r--r-- user=pcp group=pcp name=NN +pmie/myhost/2017/02: +mode=-rw-r--r-- user=pcp group=pcp name=12 diff --git a/qa/1339 b/qa/1339 index c47437bd65..136f505031 100755 --- a/qa/1339 +++ b/qa/1339 @@ -17,13 +17,16 @@ echo "QA output created by $seq" _filter() { - _filter_pmda_install | \ - sed -e 's/ 1[34][0-9][0-9] values/ 1300+ values/' \ + _filter_pmda_install \ + | _filter_compiler_babble \ + | sed \ + -e 's/ 1[34][0-9][0-9] values/ 1300+ values/' \ -e 's/ 1[0-9] warnings/ 10+ warnings/' \ -e 's/ [12][0-9][0-9] metrics/ 100+ metrics/' \ -e "s;$tmp;TMP;" \ -e "s/$port1/PORT1/" \ - -e "s/$port2/PORT2/" + -e "s/$port2/PORT2/" \ + # end } _check_pmda_gone() diff --git a/qa/156 b/qa/156 index 6e562b0001..882339e517 100755 --- a/qa/156 +++ b/qa/156 @@ -16,13 +16,16 @@ echo "QA output created by $seq" _filter() { - _filter_pmda_install | \ - sed -e 's/ 1[34][0-9][0-9] values/ 1300+ values/' \ + _filter_pmda_install \ + | _filter_compiler_babble \ + | sed \ + -e 's/ 1[34][0-9][0-9] values/ 1300+ values/' \ -e 's/ 1[0-9] warnings/ 10+ warnings/' \ -e 's/ [12][0-9][0-9] metrics/ 100+ metrics/' \ -e "s;$tmp;TMP;" \ -e "s/$port1/PORT1/" \ - -e "s/$port2/PORT2/" + -e "s/$port2/PORT2/" \ + # end } _check_pmda_gone() diff --git a/qa/common.filter b/qa/common.filter index dc9c3439dd..b41c5139fa 100644 --- a/qa/common.filter +++ b/qa/common.filter @@ -1139,3 +1139,27 @@ _filter_optional_labels() fi } +# some versions of the C compiler are just plain wrong and emit warning +# babble when re-compiling the sample PMDA +# +# For example in Fedora 40 (aka rawhide) circa Feb 2024 ... +# sample.c: In function ‘sample_fetch’: +# sample.c:1963:13: warning: array subscript ‘pmValueSet[0]’ is partly outside array bounds of ‘unsigned char[16]’ [-Warray-bounds=] +# 1963 | vset->pmid = pmidlist[i]; +# | ^~ +# sample.c:1954:49: note: object of size 16 allocated by ‘malloc’ +# 1954 | res->vset[i] = vset = (pmValueSet *)malloc(sizeof(pmValueSet) - +# | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ +# 1955 | sizeof(pmValue)); +# | ~~~~~~~~~~~~~~~~ +# +_filter_compiler_babble() +{ + sed \ + -e '/^sample.c: In function .sample_fetch.:/d' \ + -e '/^sample.c:.* array subscript .pmValueSet.0.. is partly outside/d' \ + -e '/^sample.c:.* note: object of size [0-9][0-9]* allocated by /d' \ + -e '/^ *[0-9][0-9]* *| /d' \ + -e '/^ *| /d' \ + # end +} diff --git a/qa/group b/qa/group index 804f9631f8..98c371201d 100644 --- a/qa/group +++ b/qa/group @@ -1940,6 +1940,10 @@ x11 1479 pmda.linux kernel local 1480 pmda.lmsensors local 1481 other local +1482:reserved +#1482 pmcd pmlogger pmie pmfind pmproxy local +1483:reserved +#1483 other local 1486 logutil local 1489 python pmrep pmimport local 1490 python local labels diff --git a/qa/new b/qa/new index 5670f16be9..0e5e27b681 100755 --- a/qa/new +++ b/qa/new @@ -14,7 +14,7 @@ # use ./new-seqs to help refine min and max # -min=1470 +min=1480 max=1999 max_probes=200 @@ -150,9 +150,9 @@ if [ -z "$try" ] then if $smallest then - # as of Aug 2021, we're all full up to 1330 and a bit + # see above ... # - try=1330 + try=$min else # random in the range $min-$max based on user name convered from alpha # to numeric, prefixed by current clock seconds @@ -162,7 +162,8 @@ then fi fi -# first $try, then keep randomly probing the min-max space +# first $try, then keep randomly (no -s) or serially (with -s) probing +# the min-max space # $verbose && echo >&2 "Info: start probing at $try" probe=0 diff --git a/qa/new-seqs b/qa/new-seqs index 65a3d21d1b..ae3e519b6e 100755 --- a/qa/new-seqs +++ b/qa/new-seqs @@ -77,7 +77,8 @@ if [ -s $tmp.avail ] then echo "9999999" >>$tmp.avail _do_range <$tmp.avail - echo "$min $max `wc -l <$tmp.avail | sed -e 's/ //g'`" \ + first=`head -1 <$tmp.avail` + echo "$min $max $first `wc -l <$tmp.avail | sed -e 's/ //g'`" \ | awk ' - { printf "Between min=" $1 " and max=" $2 ", " $3 " available (%.1f%% free)\n",100 * $3 /($2 - $1 + 1) }' + { printf "Between min=" $1 " and max=" $2 ", " $4 " available (%.1f%% free, first=" $3 ")\n",100 * $4 /($2 - $1 + 1) }' fi diff --git a/qa/triaged b/qa/triaged index c3446a230f..3b9cb9d0e4 100644 --- a/qa/triaged +++ b/qa/triaged @@ -75,7 +75,9 @@ 1724 Fedora 38 bpftrace PMDA is broken here, check-flakey passes (sometimes) 1900 Fedora 3[89] valgrind uninitialised data failure deep inside libbpf +1900 Fedora 40 ditto 1900 CentOS Stream9 ditto +1900 Debian 12 ditto 1900 openSUSE Leap 15.[56] ditto 1973 Ubuntu 16\.04 Python here is 3.5.2 and there a bunch of what look like dict ordering and/or cacheing sequence differences