Re: [fixincludes] Fix pthread.h failure (PR other/52626)
On Mar 22, 2012, at 3:40 PM, Bruce Korb wrote: > You can only figure out what has failed. Life goes on > Do I get the bonus points? make check and cat fixincludes.sum is necessary to get the bonus points. :-) Looks fine from what I can see.
Re: [fixincludes] Fix pthread.h failure (PR other/52626)
Rather simple... In a file called fixinclude.sum, put PASS: unique string or FAIL: unique string one per line, Bonus points if you can total passes and failures: I think you just put it into the check template so it creates the result. Since multiple fixes tweak the same file, there really isn't a way to figure out what has passed. You can only figure out what has failed. So, let's just call it one test. +fix_sum_fmt='%s: fixincludes + +# of expected passes1 +# of expected failures 0 +# of unexpected failures%s\n' Do I get the bonus points? :D Index: check.tpl === --- check.tpl (revision 184997) +++ check.tpl (working copy) @@ -25,7 +25,7 @@ rm -rf ${DESTDIR} ${SRCDIR} mkdir ${DESTDIR} ${SRCDIR} -( +{ [= (shellf "for f in %s @@ -36,7 +36,7 @@ while read g do echo \" mkdir \\${SRCDIR}/$g || mkdir -p \\${SRCDIR}/$g || exit 1\" done" (join " " (stack "fix.files")) ) =] -) 2> /dev/null[= # suppress 'No such file or directory' messages =] +} 2> /dev/null[= # suppress 'No such file or directory' messages =] cd inc [= (define sfile "") @@ -114,29 +114,21 @@ sed 's/\(#define __[A-Z_]*_TYPE__\).*/\1/' sys/types.h > XX mv -f XX sys/types.h -# The following subshell weirdness is for saving an exit -# status from within a while loop that reads input. If you can -# think of a cleaner way, suggest away, please... -# -exitok=` exec < ${TESTDIR}/LIST while read f do if [ ! -f ${TESTBASE}/$f ] then -echo "Newly fixed header: $f" >&2 -exitok=false +echo "FAIL: Newly fixed header: $f" >&2 - elif cmp $f ${TESTBASE}/$f >&2 + elif cmp $f ${TESTBASE}/$f then : else -${DIFF:-diff} -c $f ${TESTBASE}/$f >&2 || : -exitok=false +${DIFF:-diff} -c $f ${TESTBASE}/$f fi -done -echo $exitok` +done > FAILURES.txt cd $TESTBASE @@ -144,30 +136,36 @@ fgrep -v 'CVS/' | \ fgrep -v '.svn/' > ${TESTDIR}/LIST -exitok=` exec < ${TESTDIR}/LIST while read f do if [ -s $f ] && [ ! -f ${DESTDIR}/$f ] then -echo "Missing header fix: $f" >&2 -exitok=false +echo "FAIL: Missing header fix: $f" fi -done -echo $exitok` +done >> ${DESTDIR}/FAILURES.txt + +fix_sum_fmt='%s: fixincludes + +# of expected passes1 +# of expected failures 0 +# of unexpected failures%s\n' echo -if $exitok +if test -s ${DESTDIR}/FAILURES.txt then - cd ${TESTDIR} - rm -rf inc res LIST - cd .. - rmdir ${TESTDIR} > /dev/null 2>&1 || : - echo All fixinclude tests pass >&2 -else - echo There were fixinclude test FAILURES >&2 -fi -$exitok[= + echo There were fixinclude test FAILURES + cat ${DESTDIR}/FAILURES.txt + printf "$fix_sum_fmt" FAIL 1 > ${DESTDIR}/fixincludes.sum + exit 1 +fi >&2 + +printf "$fix_sum_fmt" PASS 0 > ${DESTDIR}/fixincludes.sum +cd ${TESTDIR} +rm -rf inc res LIST +cd .. +rmdir ${TESTDIR} > /dev/null 2>&1 || : +echo All fixinclude tests pass >&2[= (if (defined? 'set-writable) (set-writable))
Re: [fixincludes] Fix pthread.h failure (PR other/52626)
On Mar 21, 2012, at 2:46 PM, Mike Stump wrote: > echo "# of expected failures$(cat $file | grep 'FAIL:' | wc -l)" Oh, and if you expect perfection, you should use: echo "# of unexpected failures$(cat $file | grep 'FAIL:' | wc -l)" instead.
Re: [fixincludes] Fix pthread.h failure (PR other/52626)
On Mar 21, 2012, at 10:16 AM, Bruce Korb wrote: > Patch welcome! I, myself, don't know what "emit DejaGnu-style > fixincludes.{sum, log} files" would mean. Rather simple... In a file called fixinclude.sum, put PASS: unique string or FAIL: unique string one per line, as many times as you want. The unique strings should be meaningful to you in some way, and be stable over long periods of time (no `pwd` or `date` in them for example). You can write a python script, a awk script, a bash script or a c program to generate this. You can synthesize this from any source you can pull from, for example, the existing testing code or test report you might have. Bonus points if you can total passes and failures: exec >>$file echo echo "# of expected passes$(cat $file | grep 'PASS:' | wc -l)" echo "# of expected failures$(cat $file | grep 'FAIL:' | wc -l)" at the end of the file. The above by the way, will add it (/bin/sh style), if you just create the $file. That's it, done. For example, if you just had a single, it all worked flawlessly thing, you could do: if check-cmd; then echo "PASS: fixinclude" else echo "FAIL: fixinclude" fi and then the code above, and viola, you're done. To create the .log file, cp fixincludes.sum fixincludes.log, if you have nothing better to do.
Re: [fixincludes] Fix pthread.h failure (PR other/52626)
Hi Rainer, On Wed, Mar 21, 2012 at 9:25 AM, Rainer Orth wrote: > As reported in PR other/52626, make check in fixincludes is currently > failing since I neglected to adapt the baseline for the Solaris 8 > removal ;-( I always meant to run make check, but forgot. > > On the other hand, it would be really helpful if fixincludes make check > could emit DejaGnu-style fixincludes.{sum, log} files which would > automatically be picked up by make mail-report.log and make failures > immediately obvious. Patch welcome! I, myself, don't know what "emit DejaGnu-style fixincludes.{sum, log} files" would mean. > The following patch fixes this, tested with make check in fixincludes on > i386-pc-solaris2.11. > > Ok for mainline? I'm sure you examined the difference by hand and confirmed that the change is expected. Then yes, please, by all means. Thank you! - Bruce