diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-07-12 21:11:04 +0000 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-07-13 17:54:59 -0400 |
commit | da1e72f4823e42aa11e9c48e8105083d05433dfe (patch) | |
tree | 6213fc1bc10f39f8950c274197221ac9b36b7fe3 | |
parent | 245d3d3c9535d8413dca2e6da6c74373c21d037e (diff) | |
download | systemd-da1e72f4823e42aa11e9c48e8105083d05433dfe.tar.gz |
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.
-rw-r--r-- | src/test/test-watchdog.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/test/test-watchdog.c b/src/test/test-watchdog.c index e3c19647fc..276b803cc2 100644 --- a/src/test/test-watchdog.c +++ b/src/test/test-watchdog.c @@ -19,22 +19,32 @@ #include <unistd.h> +#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) |