guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/03: tests: basic: Fix harmless thinko.


From: Ludovic Courtès
Subject: 02/03: tests: basic: Fix harmless thinko.
Date: Thu, 17 Nov 2016 22:22:36 +0000 (UTC)

civodul pushed a commit to branch master
in repository guix.

commit 056d0b40341a1b28516a6c2e0fed820360be42b5
Author: Ludovic Courtès <address@hidden>
Date:   Thu Nov 17 23:14:58 2016 +0100

    tests: basic: Fix harmless thinko.
    
    * gnu/tests/base.scm (run-basic-test)["login on tty1"]: Move the
    file-waiting loop inside the 'marionette-eval' body.  Before that, we
    were waiting for the file to appear on the host, which would never
    happen, meaning that we were always waiting for 15 seconds.
---
 gnu/tests/base.scm |   20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 5c2af5b..9a26530 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -150,14 +150,20 @@ info --version")
               (marionette-type "root\n\nid -un > logged-in\n" marionette)
 
               ;; It can take a while before the shell commands are executed.
-              (let loop ((i 0))
-                (unless (or (file-exists? "/root/logged-in") (> i 15))
-                  (sleep 1)
-                  (loop (+ i 1))))
               (marionette-eval '(use-modules (rnrs io ports)) marionette)
-              (marionette-eval '(call-with-input-file "/root/logged-in"
-                                  get-string-all)
-                               marionette)))
+              (marionette-eval
+               '(let loop ((i 0))
+                  (catch 'system-error
+                    (lambda ()
+                      (call-with-input-file "/root/logged-in"
+                        get-string-all))
+                    (lambda args
+                      (if (and (< i 15) (= ENOENT (system-error-errno args)))
+                          (begin
+                            (sleep 1)
+                            (loop (+ i 1)))
+                          (apply throw args)))))
+               marionette)))
 
           (test-assert "host name resolution"
             (match (marionette-eval



reply via email to

[Prev in Thread] Current Thread [Next in Thread]