From: Zbigniew Jędrzejewski-Szmek Date: Wed, 12 Jul 2017 21:11:04 +0000 (+0000) Subject: test-watchdog: wait just one cycle unless $SYSTEMD_SLOW_TESTS X-Git-Tag: v235~290^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=da1e72f4823e42aa11e9c48e8105083d05433dfe;p=thirdparty%2Fsystemd.git test-watchdog: wait just one cycle unless $SYSTEMD_SLOW_TESTS Also, if we fail to set the watchdog, run through the rest of the test without waiting. I think it's useful to still start the commands to test the error paths, but we can do it quickly. --- diff --git a/src/test/test-watchdog.c b/src/test/test-watchdog.c index e3c19647fc9..276b803cc2f 100644 --- a/src/test/test-watchdog.c +++ b/src/test/test-watchdog.c @@ -19,22 +19,32 @@ #include +#include "env-util.h" #include "log.h" #include "watchdog.h" int main(int argc, char *argv[]) { - usec_t t = 10 * USEC_PER_SEC; - unsigned i; + usec_t t; + unsigned i, count; int r; + bool slow; log_set_max_level(LOG_DEBUG); log_parse_environment(); + r = getenv_bool("SYSTEMD_SLOW_TESTS"); + slow = r >= 0 ? r : SYSTEMD_SLOW_TESTS_DEFAULT; + + t = slow ? 10 * USEC_PER_SEC : 1 * USEC_PER_SEC; + count = slow ? 5 : 3; + r = watchdog_set_timeout(&t); if (r < 0) log_warning_errno(r, "Failed to open watchdog: %m"); + if (r == -EPERM) + t = 0; - for (i = 0; i < 5; i++) { + for (i = 0; i < count; i++) { log_info("Pinging..."); r = watchdog_ping(); if (r < 0)