If 'make test' fails before running any tests, the debug output from
print-failed-test-output is confusing:
+ ./print-failed-test-output
cat: t/test-results/*.exit: No such file or directory
./print-failed-test-output: line 6: [: : integer expression expected
--------------------------------------------------------------------------------
t/test-results/*.out
--------------------------------------------------------------------------------
cat: t/test-results/*.out: No such file or directory
Use the bash failglob option to imrpve the output:
+ ./print-failed-test-output
./print-failed-test-output: line 12: no match: t/test-results/*.exit
14 lines
325 B
Bash
14 lines
325 B
Bash
#!/bin/bash
|
|
|
|
shopt -s failglob
|
|
|
|
# Print output from failing tests
|
|
dashes=$(printf "%80s" '' | tr ' ' '-')
|
|
for exit_file in t/test-results/*.exit; do
|
|
[ "$(cat "$exit_file")" -eq 0 ] && continue
|
|
out_file="${exit_file%exit}out"
|
|
printf '\n%s\n%s\n%s\n' "$dashes" "$out_file" "$dashes"
|
|
cat "$out_file"
|
|
done
|
|
exit 1
|