aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2019-04-11 20:11:08 -0400
committerShuah Khan <skhan@linuxfoundation.org>2019-04-16 19:04:34 -0400
commita745f7af3cbd04b9c9c9e803429e1c20775b538d (patch)
tree4d0031d5008980801320d11e749b1e7d665a4416
parent9dd3fcb0ab73cb1e00b8562ef027a38521aaff87 (diff)
selftests/harness: Add 30 second timeout per test
In order to keep tests from hanging forever, this adds an alarm signal to each test run. This assumes an individual test doesn't take longer than 30 seconds. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
-rw-r--r--tools/testing/selftests/kselftest_harness.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h
index 2d90c98eeb67..941d9391377f 100644
--- a/tools/testing/selftests/kselftest_harness.h
+++ b/tools/testing/selftests/kselftest_harness.h
@@ -696,6 +696,7 @@ void __run_test(struct __test_metadata *t)
696 t->passed = 1; 696 t->passed = 1;
697 t->trigger = 0; 697 t->trigger = 0;
698 printf("[ RUN ] %s\n", t->name); 698 printf("[ RUN ] %s\n", t->name);
699 alarm(30);
699 child_pid = fork(); 700 child_pid = fork();
700 if (child_pid < 0) { 701 if (child_pid < 0) {
701 printf("ERROR SPAWNING TEST CHILD\n"); 702 printf("ERROR SPAWNING TEST CHILD\n");
@@ -744,6 +745,7 @@ void __run_test(struct __test_metadata *t)
744 } 745 }
745 } 746 }
746 printf("[ %4s ] %s\n", (t->passed ? "OK" : "FAIL"), t->name); 747 printf("[ %4s ] %s\n", (t->passed ? "OK" : "FAIL"), t->name);
748 alarm(0);
747} 749}
748 750
749static int test_harness_run(int __attribute__((unused)) argc, 751static int test_harness_run(int __attribute__((unused)) argc,