diff options
author | Petri Latvala <petri.latvala@intel.com> | 2020-02-17 16:50:42 +0200 |
---|---|---|
committer | Petri Latvala <petri.latvala@intel.com> | 2020-02-19 12:34:36 +0200 |
commit | dfba090e720ed4e043158887f1ba6a76059491e8 (patch) | |
tree | d87228d0d72dafb197db0f42bcc3845de9cea9c7 /runner/runner_tests.c | |
parent | 4dce5cf1f39192656e113260e062e7f6782a4b46 (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.c | 6 |
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", |