aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ci/common/suite.sh9
-rwxr-xr-xci/run_lint.sh7
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