summary refs log tree commit diff
path: root/gnu/tests/base.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-06-12 23:21:24 +0200
committerLudovic Courtès <ludo@gnu.org>2017-06-12 23:34:14 +0200
commit5fa7cc5335d64a790d7f0f784a11b25b040cc443 (patch)
tree420f5a363b12c2a4c6f3c6e703e59b559f800117 /gnu/tests/base.scm
parentd782de172c68119499202ddac03fdce53ad89a35 (diff)
downloadguix-5fa7cc5335d64a790d7f0f784a11b25b040cc443.tar.gz
marionette: Factorize 'wait-for-file'.
* gnu/build/marionette.scm (wait-for-file): New procedure.
* gnu/tests/base.scm (run-mcron-test)[test](wait-for-file): Remove.
Pass second argument in 'wait-for-file' calls.
* gnu/tests/ssh.scm (run-ssh-test)[test](wait-for-file): Remove.
Pass second argument in 'wait-for-file' calls.
* gnu/tests/messaging.scm (run-xmpp-test)[test](guest-wait-for-file):
Remove.
Use 'wait-for-file' instead, with second argument.
Diffstat (limited to 'gnu/tests/base.scm')
-rw-r--r--gnu/tests/base.scm20
1 files changed, 3 insertions, 17 deletions
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index f5bbfafee3..8389b67f68 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -446,20 +446,6 @@ functionality tests.")
             (define marionette
               (make-marionette (list #$command)))
 
-            (define (wait-for-file file)
-              ;; Wait until FILE exists in the guest; 'read' its content and
-              ;; return it.
-              (marionette-eval
-               `(let loop ((i 10))
-                  (cond ((file-exists? ,file)
-                         (call-with-input-file ,file read))
-                        ((> i 0)
-                         (sleep 1)
-                         (loop (- i 1)))
-                        (else
-                         (error "file didn't show up" ,file))))
-               marionette))
-
             (mkdir #$output)
             (chdir #$output)
 
@@ -478,12 +464,12 @@ functionality tests.")
             ;; runs with the right UID/GID.
             (test-equal "root's job"
               '(0 0)
-              (wait-for-file "/root/witness"))
+              (wait-for-file "/root/witness" marionette))
 
             ;; Likewise for Alice's job.  We cannot know what its GID is since
             ;; it's chosen by 'groupadd', but it's strictly positive.
             (test-assert "alice's job"
-              (match (wait-for-file "/home/alice/witness")
+              (match (wait-for-file "/home/alice/witness" marionette)
                 ((1000 gid)
                  (>= gid 100))))
 
@@ -492,7 +478,7 @@ functionality tests.")
             ;; that don't have a read syntax, hence the string.)
             (test-equal "root's job with command"
               "#<eof>"
-              (wait-for-file "/root/witness-touch"))
+              (wait-for-file "/root/witness-touch" marionette))
 
             (test-end)
             (exit (= (test-runner-fail-count (test-runner-current)) 0)))))