summaryrefslogtreecommitdiff
path: root/runner/runner_tests.c
diff options
context:
space:
mode:
authorPetri Latvala <petri.latvala@intel.com>2020-02-17 16:50:42 +0200
committerPetri Latvala <petri.latvala@intel.com>2020-02-19 12:34:36 +0200
commitdfba090e720ed4e043158887f1ba6a76059491e8 (patch)
treed87228d0d72dafb197db0f42bcc3845de9cea9c7 /runner/runner_tests.c
parent4dce5cf1f39192656e113260e062e7f6782a4b46 (diff)
runner: Introduce per-test timeouts
A new config option, --per-test-timeout, sets a time a single test cannot exceed without getting itself killed. The time resets when starting a subtest or a dynamic subtest, so an execution with --per-test-timeout=20 can indeed go over 20 seconds a long as it launches a dynamic subtest within that time. As a bonus, verbose log level from runner now also prints dynamic subtest begin/result. Signed-off-by: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'runner/runner_tests.c')
-rw-r--r--runner/runner_tests.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/runner/runner_tests.c b/runner/runner_tests.c
index ed30b3f9..2f4e0abb 100644
--- a/runner/runner_tests.c
+++ b/runner/runner_tests.c
@@ -173,6 +173,7 @@ static void assert_settings_equal(struct settings *one, struct settings *two)
igt_assert_eq(one->overwrite, two->overwrite);
igt_assert_eq(one->multiple_mode, two->multiple_mode);
igt_assert_eq(one->inactivity_timeout, two->inactivity_timeout);
+ igt_assert_eq(one->per_test_timeout, two->per_test_timeout);
igt_assert_eq(one->use_watchdog, two->use_watchdog);
igt_assert_eqstr(one->test_root, two->test_root);
igt_assert_eqstr(one->results_path, two->results_path);
@@ -261,6 +262,7 @@ igt_main
igt_assert(!settings->overwrite);
igt_assert(!settings->multiple_mode);
igt_assert_eq(settings->inactivity_timeout, 0);
+ igt_assert_eq(settings->per_test_timeout, 0);
igt_assert_eq(settings->overall_timeout, 0);
igt_assert(!settings->use_watchdog);
igt_assert(strstr(settings->test_root, "test-root-dir") != NULL);
@@ -378,6 +380,7 @@ igt_main
igt_assert(!settings->overwrite);
igt_assert(!settings->multiple_mode);
igt_assert_eq(settings->inactivity_timeout, 0);
+ igt_assert_eq(settings->per_test_timeout, 0);
igt_assert_eq(settings->overall_timeout, 0);
igt_assert(!settings->use_watchdog);
igt_assert(strstr(settings->test_root, testdatadir) != NULL);
@@ -408,6 +411,7 @@ igt_main
"--overwrite",
"--multiple-mode",
"--inactivity-timeout", "27",
+ "--per-test-timeout", "72",
"--overall-timeout", "360",
"--use-watchdog",
"--piglit-style-dmesg",
@@ -438,6 +442,7 @@ igt_main
igt_assert(settings->overwrite);
igt_assert(settings->multiple_mode);
igt_assert_eq(settings->inactivity_timeout, 27);
+ igt_assert_eq(settings->per_test_timeout, 72);
igt_assert_eq(settings->overall_timeout, 360);
igt_assert(settings->use_watchdog);
igt_assert(strstr(settings->test_root, "test-root-dir") != NULL);
@@ -827,6 +832,7 @@ igt_main
"--overwrite",
"--multiple-mode",
"--inactivity-timeout", "27",
+ "--per-test-timeout", "72",
"--overall-timeout", "360",
"--use-watchdog",
"--piglit-style-dmesg",