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.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2017-07-12 22:01:46 +00:00
parent 86d0608929
commit f06dcdca6a
1 changed files with 14 additions and 5 deletions

View File

@ -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;
}