diff options
author | Ludovic Courtès <ludo@gnu.org> | 2023-05-14 22:35:30 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2023-05-14 23:14:25 +0200 |
commit | 8aaa5cf40539b3634be744700bbe246c69c8ddbf (patch) | |
tree | f9e370ff0a5a19dd1eed4bf915ff2c6b4d5d61e5 | |
parent | da6e6d38f35d6c2bf36ecb194e8f704d5e57af06 (diff) |
tests: dhcpd: Avoid race conditions.
Those tests were racy: it could take a while for those files to appear
and for the shepherd service to be up. Thus, wait a little longer for
each of them.
* gnu/tests/networking.scm (run-dhcpd-test)["pid file exists"]
["lease file exists"]: Use 'wait-for-file'.
["dhcpd is alive"]: Use 'wait-for-service'.
-rw-r--r-- | gnu/tests/networking.scm | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm index a8358c6a55..a192c7e655 100644 --- a/gnu/tests/networking.scm +++ b/gnu/tests/networking.scm @@ -412,8 +412,6 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (with-imported-modules '((gnu build marionette)) #~(begin (use-modules (gnu build marionette) - (ice-9 popen) - (ice-9 rdelim) (srfi srfi-64)) (define marionette @@ -423,16 +421,15 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (test-begin "dhcpd") (test-assert "pid file exists" - (marionette-eval - '(file-exists? - #$(dhcpd-configuration-pid-file dhcpd-v4-configuration)) + (wait-for-file + '#$(dhcpd-configuration-pid-file dhcpd-v4-configuration) marionette)) (test-assert "lease file exists" - (marionette-eval - '(file-exists? - #$(dhcpd-configuration-lease-file dhcpd-v4-configuration)) - marionette)) + (wait-for-file + '#$(dhcpd-configuration-lease-file dhcpd-v4-configuration) + marionette + #:read '(@ (ice-9 textual-ports) get-string-all))) (test-assert "run directory exists" (marionette-eval @@ -443,13 +440,8 @@ subnet 192.168.1.0 netmask 255.255.255.0 { (test-assert "dhcpd is alive" (marionette-eval '(begin - (use-modules (gnu services herd) - (srfi srfi-1)) - (live-service-running - (find (lambda (live) - (memq 'dhcpv4-daemon - (live-service-provision live))) - (current-services)))) + (use-modules (gnu services herd)) + (wait-for-service 'dhcpv4-daemon)) marionette)) (test-end)))) |