diff options
| -rwxr-xr-x | scripts/coverage | 4 | ||||
| -rwxr-xr-x | scripts/run-test | 13 |
2 files changed, 13 insertions, 4 deletions
diff --git a/scripts/coverage b/scripts/coverage index 1c4a279..6afc069 100755 --- a/scripts/coverage +++ b/scripts/coverage @@ -1,4 +1,5 @@ #!/bin/sh +set -eu # build covsrv binary make -C deps/covsrv @@ -13,7 +14,7 @@ cleanup() { # kill server program even if user interrupted us or something else exceptional # happened -trap interrupt INT HUP TERM +trap interrupt INT HUP TERM QUIT EXIT interrupt () { cleanup exit 1 @@ -30,5 +31,4 @@ mkdir -p coverage lcov --capture --directory . --out coverage/covsrv.info genhtml coverage/covsrv.info --out coverage -cleanup exit 0 diff --git a/scripts/run-test b/scripts/run-test index 05ddfe1..017562e 100755 --- a/scripts/run-test +++ b/scripts/run-test @@ -5,11 +5,18 @@ NAME=$(basename "$TEST") mkdir -p "reports/$NAME" +try_vg() { + if which -s valgrind; then + valgrind -q --leak-check=full --error-exitcode=1 "$1" + else + eval "$1" + fi +} + I=0 while :; do # if no error happened, consider it a pass - if valgrind -q --leak-check=full --error-exitcode=1 \ - "./$TEST" > "reports/$NAME/run-$I" 2>&1 + if try_vg "./${TEST}" > "reports/$NAME/run-$I" 2>&1 then echo "$NAME: PASSED" exit 0 @@ -17,6 +24,7 @@ while :; do if grep 'loss record' "reports/$NAME/run-$I" >/dev/null; then echo "$NAME: MEM FAILED" + cat "reports/$NAME/run-$I" exit 1 fi @@ -27,5 +35,6 @@ while :; do fi echo "$NAME: FAILED" + cat "reports/$NAME/run-$I" exit 1 done |
