diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-07-12 22:01:46 +0000 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2017-07-13 17:55:02 -0400 |
commit | f06dcdca6ae0c2113d04615758d00932385be2dc (patch) | |
tree | 2bf6a0792b03ff1f9525a2886e6a74bacd9835d1 /src/test/test-daemon.c | |
parent | 86d060892988975be937e713c5dfdff1a1ffa4a6 (diff) | |
download | systemd-f06dcdca6ae0c2113d04615758d00932385be2dc.tar.gz |
test-daemon: sleep just a little bit by default
With previous commits, test-daemon is one of the slowest tests.
Under normal circumstances, the notifications go nowhere anyway,
because the test process does not have privileges.
The timeout can be specified as an argument. This is useful to
e.g. test handling of the notifications, which is much easier
with a longer timeout.
Diffstat (limited to 'src/test/test-daemon.c')
-rw-r--r-- | src/test/test-daemon.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/test/test-daemon.c b/src/test/test-daemon.c index a7cb426282..e5887cc06a 100644 --- a/src/test/test-daemon.c +++ b/src/test/test-daemon.c @@ -21,11 +21,20 @@ #include "sd-daemon.h" +#include "parse-util.h" #include "strv.h" int main(int argc, char*argv[]) { _cleanup_strv_free_ char **l = NULL; int n, i; + usec_t duration = USEC_PER_SEC / 10; + + if (argc >= 2) { + unsigned x; + + assert_se(safe_atou(argv[1], &x) >= 0); + duration = x * USEC_PER_SEC; + } n = sd_listen_fds_with_names(false, &l); if (n < 0) { @@ -38,27 +47,27 @@ int main(int argc, char*argv[]) { sd_notify(0, "STATUS=Starting up"); - sleep(1); + usleep(duration); sd_notify(0, "STATUS=Running\n" "READY=1"); - sleep(1); + usleep(duration); sd_notify(0, "STATUS=Reloading\n" "RELOADING=1"); - sleep(1); + usleep(duration); sd_notify(0, "STATUS=Running\n" "READY=1"); - sleep(1); + usleep(duration); sd_notify(0, "STATUS=Quitting\n" "STOPPING=1"); - sleep(1); + usleep(duration); return EXIT_SUCCESS; } |