From 788c2d95238adeb29f791c2c8648a43244a440f4 Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Thu, 6 Jan 2022 14:09:30 -0500 Subject: [PATCH 1/2] test-watchdog: use watchdog_runtime_wait() to determine sleep interval As sugggested in https://github.com/systemd/systemd/issues/22001#issuecomment-1006755438. --- src/test/test-watchdog.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/test-watchdog.c b/src/test/test-watchdog.c index 074ed1e451b..78151beff65 100644 --- a/src/test/test-watchdog.c +++ b/src/test/test-watchdog.c @@ -27,12 +27,13 @@ int main(int argc, char *argv[]) { t = 0; for (i = 0; i < count; i++) { + t = watchdog_runtime_wait(); + log_info("Sleeping " USEC_FMT " microseconds...", t); + usleep(t); log_info("Pinging..."); r = watchdog_ping(); if (r < 0) log_warning_errno(r, "Failed to ping watchdog: %m"); - - usleep(t/2); } watchdog_close(true); From 23126a7b9b1ab8722d16830c6c8987234d8f1034 Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Thu, 6 Jan 2022 14:12:33 -0500 Subject: [PATCH 2/2] test-watchdog: set timeout to 2 seconds by default Some hardware/drivers do not handle a 1 second timeout properly. Fixes: https://github.com/systemd/systemd/issues/22001 --- src/test/test-watchdog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/test-watchdog.c b/src/test/test-watchdog.c index 78151beff65..2b6d5b5b619 100644 --- a/src/test/test-watchdog.c +++ b/src/test/test-watchdog.c @@ -17,7 +17,7 @@ int main(int argc, char *argv[]) { slow = slow_tests_enabled(); - t = slow ? 10 * USEC_PER_SEC : 1 * USEC_PER_SEC; + t = slow ? 10 * USEC_PER_SEC : 2 * USEC_PER_SEC; count = slow ? 5 : 3; r = watchdog_setup(t);