/usr/src/glibc/debian/testsuite-checking/compare.sh is in eglibc-source 2.19-0ubuntu6.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #!/bin/bash
if [ $# -lt '2' -o $# -gt '3' ]; then
echo -e "\nUsage: Compare a test-expected-* file and a test-results-* file."
echo -e "$0 : < Expected testsuite results > < Testsuite results > < (optional) build directory >\n";
exit 1
fi;
expected=$(tempfile)
results=$(tempfile)
grep -Ev '^ *$|^#' $1 | sort > $expected
grep -Ev '^ *$|^#' $2 | sort > $results
builddir=${3:-.}
REGRESSIONS=$(diff -wBI '^#.*' $expected $results | sed -e '/^>/!d;s/^> //g')
PROGRESSIONS=$(diff -wBI '^#.*' $expected $results | sed -e '/^</!d;s/^< //g')
if [ -n "$REGRESSIONS" ] ; then
echo "Encountered regressions that don't match expected failures ($1):"
echo "$REGRESSIONS"
for test in $(echo "$REGRESSIONS" | sed -e's/, Error.*//')
do
echo TEST $test:
find $builddir -name "$test" | xargs -r cat
done
rv=1
else
echo "Passed regression testing. No new failures, no changed error values."
for test in $(sed -n '/^[^#]/s/, Error.*//p' $results)
do
echo TEST $test:
find $builddir -name "$test" | xargs -r cat
done
rv=0
fi
if [ -n "$PROGRESSIONS" ] ; then
echo "Encountered progressions that don't match expected failures:"
echo "$PROGRESSIONS"
fi
rm -f $expected $results
# This would be a lovely place to exit 0 if you wanted to disable hard failures
#exit 0
exit $rv
|