2022-02-07 22:16:52 -05:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
set -eu
|
|
|
|
|
|
|
|
|
|
export LC_COLLATE=C
|
|
|
|
|
|
|
|
|
|
# Extract the failing test lines from log files
|
|
|
|
|
failing_tests() {
|
2022-02-22 14:30:56 -05:00
|
|
|
sed -En 's/FAIL: ([^,:]*)[,:].*/\1/p' "$1"/{tests,{find,xargs}/testsuite}/*.log | sort
|
2022-02-07 22:16:52 -05:00
|
|
|
}
|
|
|
|
|
|
2022-02-22 14:30:56 -05:00
|
|
|
comm -3 <(failing_tests "$1") <(failing_tests "$2") | tr '\t' ',' | while IFS=, read old new foo; do
|
2022-02-07 22:16:52 -05:00
|
|
|
if [ -n "$old" ]; then
|
|
|
|
|
echo "::warning ::Congrats! The GNU test $old is now passing!"
|
|
|
|
|
fi
|
|
|
|
|
if [ -n "$new" ]; then
|
|
|
|
|
echo "::error ::GNU test failed: $new. $new is passing on 'main'. Maybe you have to rebase?"
|
|
|
|
|
fi
|
|
|
|
|
done
|