summaryrefslogtreecommitdiff
path: root/src/test/test-daemon.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-07-12 22:01:46 +0000
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2017-07-13 17:55:02 -0400
commitf06dcdca6ae0c2113d04615758d00932385be2dc (patch)
tree2bf6a0792b03ff1f9525a2886e6a74bacd9835d1 /src/test/test-daemon.c
parent86d060892988975be937e713c5dfdff1a1ffa4a6 (diff)
downloadsystemd-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.c19
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;
}