summary refs log tree commit diff
path: root/gnu/tests/ssh.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/ssh.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/ssh.scm')
-rw-r--r--gnu/tests/ssh.scm18
1 files changed, 2 insertions, 16 deletions
diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm
index 5f06151081..9c83a9cd48 100644
--- a/gnu/tests/ssh.scm
+++ b/gnu/tests/ssh.scm
@@ -69,20 +69,6 @@ When SFTP? is true, run an SFTP server test."
               (make-marionette (list #$command "-net"
                                      "user,hostfwd=tcp::2222-:22")))
 
-            (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))
-
             (define (make-session-for-test)
               "Make a session with predefined parameters for a test."
               (make-session #:user "root"
@@ -141,7 +127,7 @@ root with an empty password."
 
             ;; Check sshd's PID file.
             (test-equal "sshd PID"
-              (wait-for-file #$pid-file)
+              (wait-for-file #$pid-file marionette)
               (marionette-eval
                '(begin
                   (use-modules (gnu services herd)
@@ -166,7 +152,7 @@ root with an empty password."
                    (channel-open-session channel)
                    (channel-request-exec channel "echo hello > /root/witness")
                    (and (zero? (channel-get-exit-status channel))
-                        (wait-for-file "/root/witness"))))))
+                        (wait-for-file "/root/witness" marionette))))))
 
             ;; Connect to the guest over SFTP.  Make sure we can write and
             ;; read a file there.