diff options
-rw-r--r-- | ci/common/suite.sh | 9 | ||||
-rwxr-xr-x | ci/run_lint.sh | 7 |
2 files changed, 15 insertions, 1 deletions
diff --git a/ci/common/suite.sh b/ci/common/suite.sh index 5c79ce2718..44a560c50a 100644 --- a/ci/common/suite.sh +++ b/ci/common/suite.sh @@ -57,13 +57,21 @@ run_test() { run_test_wd() { local timeout="$1" test $# -gt 0 && shift + local cmd="$1" test $# -gt 0 && shift + + local restart_cmd="$1" + : ${restart_cmd:=true} + test $# -gt 0 && shift + local test_name="$1" : ${test_name:=$cmd} test $# -gt 0 && shift + local output_file="$(mktemp)" local status_file="$(mktemp)" + local restarts=5 local prev_tmpsize=-1 while test $restarts -gt 0 ; do @@ -92,6 +100,7 @@ run_test_wd() { # status file not updated, assuming hang kill -KILL $pid echo "Test ${test_name} hang up, restarting" + eval "$restart_cmd" else local new_failed="$(cat "$status_file")" if test "x$new_failed" != "x0" ; then diff --git a/ci/run_lint.sh b/ci/run_lint.sh index 5122ffc2b6..d2807e425e 100755 --- a/ci/run_lint.sh +++ b/ci/run_lint.sh @@ -12,8 +12,13 @@ enter_suite 'lint' set -x +csi_clean() { + rm "${BUILD_DIR}"/bin/test-includes-* + find "${BUILD_DIR}" -name '*test-include*.o' -delete +} + run_test 'top_make clint-full' clint run_test 'top_make testlint' testlint -run_test_wd 5s 'top_make check-single-includes' single-includes +run_test_wd 5s 'top_make check-single-includes' 'csi_clean' single-includes exit_suite |