all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#31788] [PATCH] tests: Honor the return value of 'start-service'.
@ 2018-06-11 22:05 Clément Lassieur
  2018-06-12 19:46 ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Clément Lassieur @ 2018-06-11 22:05 UTC (permalink / raw)
  To: 31788

Since commit dc7b3e56337ee9d8dcd8fe7d5cab71ef536d024f, 'start-service' returns
the Shepherd's representation of the service as a sexp, and '#f' if the
service fails to start.  Also, it doesn't throw an exception when the service
fails to start, so relying on an exception instead of relying on its return
value is a false positive.

* gnu/tests/base.scm (run-nss-mdns-test): Split tests so to check the return
value of 'start-service'.
(run-mcron-test, run-nss-mdns-test): Use 'test-assert' with the return value
of 'start-service'.
* gnu/tests/admin.scm (run-tailon-test): Idem.
* gnu/tests/dict.scm (run-dicod-test): Idem.
* gnu/tests/mail.scm (run-opensmtpd-test, run-exim-test, run-dovecot-test):
Idem.
* gnu/tests/messaging.scm (run-xmpp-test, run-bitlbee-test): Idem.
* gnu/tests/nfs.scm (run-nfs-test): Idem.
* gnu/tests/rsync.scm (run-rsync-test): Idem.
* gnu/tests/ssh.scm (run-ssh-test): Idem.
* gnu/tests/version-control.scm (run-cgit-test, run-git-http-test): Idem.
* gnu/tests/web.scm (run-php-fpm-test): Idem.
---
 gnu/tests/admin.scm           |  7 ++--
 gnu/tests/base.scm            | 62 ++++++++++++++++++++---------------
 gnu/tests/dict.scm            |  7 ++--
 gnu/tests/mail.scm            | 13 +++-----
 gnu/tests/messaging.scm       | 14 +++-----
 gnu/tests/nfs.scm             |  7 ++--
 gnu/tests/rsync.scm           |  7 ++--
 gnu/tests/ssh.scm             |  8 ++---
 gnu/tests/version-control.scm | 20 ++++-------
 gnu/tests/web.scm             |  8 ++---
 10 files changed, 71 insertions(+), 82 deletions(-)

diff --git a/gnu/tests/admin.scm b/gnu/tests/admin.scm
index 3c7deb542..a5abbe9ad 100644
--- a/gnu/tests/admin.scm
+++ b/gnu/tests/admin.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
+;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -74,13 +75,11 @@ HTTP-PORT."
 
           (test-begin "tailon")
 
-          (test-eq "service running"
-            'running!
+          (test-assert "service running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'tailon)
-                'running!)
+                (start-service 'tailon))
              marionette))
 
           (define* (retry-on-error f #:key times delay)
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 3faeddef6..05c846264 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -517,13 +518,11 @@ in a loop.  See <http://bugs.gnu.org/26931>.")
 
           (test-begin "mcron")
 
-          (test-eq "service running"
-            'running!
+          (test-assert "service running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'mcron)
-                'running!)
+                (start-service 'mcron))
              marionette))
 
           ;; Make sure root's mcron job runs, has its cwd set to "/root", and
@@ -619,32 +618,43 @@ in a loop.  See <http://bugs.gnu.org/26931>.")
 
           (test-begin "avahi")
 
-          (test-assert "wait for services"
+          (test-assert "nscd PID file is created"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
+                (start-service 'nscd))
+             marionette))
+
+          (test-assert "nscd is listening on its socket"
+            (marionette-eval
+             ;; XXX: Work around a race condition in nscd: nscd creates its
+             ;; PID file before it is listening on its socket.
+             '(let ((sock (socket PF_UNIX SOCK_STREAM 0)))
+                (let try ()
+                  (catch 'system-error
+                    (lambda ()
+                      (connect sock AF_UNIX "/var/run/nscd/socket")
+                      (close-port sock)
+                      (format #t "nscd is ready~%")
+                      #t)
+                    (lambda args
+                      (format #t "waiting for nscd...~%")
+                      (usleep 500000)
+                      (try)))))
+             marionette))
+
+          (test-assert "avahi is running"
+            (marionette-eval
+             '(begin
+                (use-modules (gnu services herd))
+                (start-service 'avahi-daemon))
+             marionette))
 
-                (start-service 'nscd)
-
-                ;; XXX: Work around a race condition in nscd: nscd creates its
-                ;; PID file before it is listening on its socket.
-                (let ((sock (socket PF_UNIX SOCK_STREAM 0)))
-                  (let try ()
-                    (catch 'system-error
-                      (lambda ()
-                        (connect sock AF_UNIX "/var/run/nscd/socket")
-                        (close-port sock)
-                        (format #t "nscd is ready~%"))
-                      (lambda args
-                        (format #t "waiting for nscd...~%")
-                        (usleep 500000)
-                        (try)))))
-
-                ;; Wait for the other useful things.
-                (start-service 'avahi-daemon)
-                (start-service 'networking)
-
-                #t)
+          (test-assert "network is up"
+            (marionette-eval
+             '(begin
+                (use-modules (gnu services herd))
+                (start-service 'networking))
              marionette))
 
           (test-equal "avahi-resolve-host-name"
diff --git a/gnu/tests/dict.scm b/gnu/tests/dict.scm
index 4431e37dc..dd60ffd46 100644
--- a/gnu/tests/dict.scm
+++ b/gnu/tests/dict.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -84,13 +85,11 @@
           (test-begin "dicod")
 
           ;; Wait for the service to be started.
-          (test-eq "service is running"
-            'running!
+          (test-assert "service is running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'dicod)
-                'running!)
+                (start-service 'dicod))
              marionette))
 
           ;; Wait until dicod is actually listening.
diff --git a/gnu/tests/mail.scm b/gnu/tests/mail.scm
index 4de13b868..5677969fa 100644
--- a/gnu/tests/mail.scm
+++ b/gnu/tests/mail.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
 ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -84,8 +85,7 @@ accept from any for local deliver to mbox
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'smtpd)
-                #t)
+                (start-service 'smtpd))
              marionette))
 
           (test-assert "mbox is empty"
@@ -224,8 +224,7 @@ acl_check_data:
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'exim)
-                #t)
+                (start-service 'exim))
              marionette))
 
           (sleep 1) ;; give the service time to start talking
@@ -330,13 +329,11 @@ Subject: Hello Nice to meet you!")
           (test-begin "dovecot")
 
           ;; Wait for dovecot to be up and running.
-          (test-eq "dovecot running"
-            'running!
+          (test-assert "dovecot running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'dovecot)
-                'running!)
+                (start-service 'dovecot))
              marionette))
 
           ;; Check Dovecot service's PID.
diff --git a/gnu/tests/messaging.scm b/gnu/tests/messaging.scm
index f17dfe626..f5f99b9f5 100644
--- a/gnu/tests/messaging.scm
+++ b/gnu/tests/messaging.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -102,13 +102,11 @@
           (test-begin "xmpp")
 
           ;; Wait for XMPP service to be up and running.
-          (test-eq "service running"
-            'running!
+          (test-assert "service running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'xmpp-daemon)
-                'running!)
+                (start-service 'xmpp-daemon))
              marionette))
 
           ;; Check XMPP service's PID.
@@ -196,13 +194,11 @@
 
           (test-begin "bitlbee")
 
-          (test-eq "service started"
-            'running!
+          (test-assert "service started"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'bitlbee)
-                'running!)
+                (start-service 'bitlbee))
              marionette))
 
           (test-equal "valid PID"
diff --git a/gnu/tests/nfs.scm b/gnu/tests/nfs.scm
index d58cf7aef..140f03779 100644
--- a/gnu/tests/nfs.scm
+++ b/gnu/tests/nfs.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -94,13 +95,11 @@
           (test-begin "rpc-daemon")
 
           ;; Wait for the rpcbind daemon to be up and running.
-          (test-eq "RPC service running"
-            'running!
+          (test-assert "RPC service running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'rpcbind-daemon)
-                'running!)
+                (start-service 'rpcbind-daemon))
              marionette))
 
           ;; Check the socket file and that the service is still running.
diff --git a/gnu/tests/rsync.scm b/gnu/tests/rsync.scm
index c97836788..a6f8fa2bd 100644
--- a/gnu/tests/rsync.scm
+++ b/gnu/tests/rsync.scm
@@ -1,5 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
+;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -59,13 +60,11 @@ PORT."
           (test-begin "rsync")
 
           ;; Wait for rsync to be up and running.
-          (test-eq "service running"
-            'running!
+          (test-assert "service running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'rsync)
-                'running!)
+                (start-service 'rsync))
              marionette))
 
           ;; Make sure the PID file is created.
diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm
index 9247a43e6..2e40122ad 100644
--- a/gnu/tests/ssh.scm
+++ b/gnu/tests/ssh.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -111,13 +111,11 @@ root with an empty password."
             (test-begin "ssh-daemon")
 
             ;; Wait for sshd to be up and running.
-            (test-eq "service running"
-              'running!
+            (test-assert "service running"
               (marionette-eval
                '(begin
                   (use-modules (gnu services herd))
-                  (start-service 'ssh-daemon)
-                  'running!)
+                  (start-service 'ssh-daemon))
                marionette))
 
             ;; Check sshd's PID file.
diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm
index 802473973..3b935a1b4 100644
--- a/gnu/tests/version-control.scm
+++ b/gnu/tests/version-control.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -147,23 +147,19 @@ HTTP-PORT."
              marionette))
 
           ;; Wait for nginx to be up and running.
-          (test-eq "nginx running"
-            'running!
+          (test-assert "nginx running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'nginx)
-                'running!)
+                (start-service 'nginx))
              marionette))
 
           ;; Wait for fcgiwrap to be up and running.
-          (test-eq "fcgiwrap running"
-            'running!
+          (test-assert "fcgiwrap running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'fcgiwrap)
-                'running!)
+                (start-service 'fcgiwrap))
              marionette))
 
           ;; Make sure the PID file is created.
@@ -272,13 +268,11 @@ HTTP-PORT."
           (test-begin "git-http")
 
           ;; Wait for nginx to be up and running.
-          (test-eq "nginx running"
-            'running!
+          (test-assert "nginx running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'nginx)
-                'running!)
+                (start-service 'nginx))
              marionette))
 
           ;; Make sure Git test repository is created.
diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm
index a6bf6efcf..73d502dd0 100644
--- a/gnu/tests/web.scm
+++ b/gnu/tests/web.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
-;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -245,13 +245,11 @@ HTTP-PORT, along with php-fpm."
                      ((pid) (number? pid))))))
              marionette))
 
-          (test-eq "nginx running"
-            'running!
+          (test-assert "nginx running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'nginx)
-                'running!)
+                (start-service 'nginx))
              marionette))
 
           (test-equal "http-get"
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [bug#31788] [PATCH] tests: Honor the return value of 'start-service'.
  2018-06-11 22:05 [bug#31788] [PATCH] tests: Honor the return value of 'start-service' Clément Lassieur
@ 2018-06-12 19:46 ` Ludovic Courtès
  2018-06-12 20:03   ` Clément Lassieur
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2018-06-12 19:46 UTC (permalink / raw)
  To: Clément Lassieur; +Cc: 31788

Hi Clément,

Clément Lassieur <clement@lassieur.org> skribis:

> Since commit dc7b3e56337ee9d8dcd8fe7d5cab71ef536d024f, 'start-service' returns
> the Shepherd's representation of the service as a sexp, and '#f' if the
> service fails to start.  Also, it doesn't throw an exception when the service
> fails to start, so relying on an exception instead of relying on its return
> value is a false positive.

Looking at ‘invoke-action’ (used by ‘start-service’) in (gnu services
herd), it seems that an exception is raised upon error:

      (('reply ('version 0 x ...) ('result y) ('error error)
               ('messages messages))
       (for-each display-message messages)
       (raise-shepherd-error error)
       #f)

There’s one case where an exception isn’t raised, and that’s when
shepherd returns something completely bogus:

      (x
       ;; invalid reply
       #f)

Am I missing something?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#31788] [PATCH] tests: Honor the return value of 'start-service'.
  2018-06-12 19:46 ` Ludovic Courtès
@ 2018-06-12 20:03   ` Clément Lassieur
  2018-06-12 20:38     ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Clément Lassieur @ 2018-06-12 20:03 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 31788

Hi Ludovic,

Ludovic Courtès <ludo@gnu.org> writes:

> Hi Clément,
>
> Clément Lassieur <clement@lassieur.org> skribis:
>
>> Since commit dc7b3e56337ee9d8dcd8fe7d5cab71ef536d024f, 'start-service' returns
>> the Shepherd's representation of the service as a sexp, and '#f' if the
>> service fails to start.  Also, it doesn't throw an exception when the service
>> fails to start, so relying on an exception instead of relying on its return
>> value is a false positive.
>
> Looking at ‘invoke-action’ (used by ‘start-service’) in (gnu services
> herd), it seems that an exception is raised upon error:
>
>       (('reply ('version 0 x ...) ('result y) ('error error)
>                ('messages messages))
>        (for-each display-message messages)
>        (raise-shepherd-error error)
>        #f)

But that's for Shepherd errors.  When a service fails to start, it's not
a Shepherd error, so if my understanding is correct '(cont result)'
should be called.  With result being '#f'.

    (match (read sock)
      (('reply ('version 0 _ ...) ('result result) ('error #f)
               ('messages messages))
       (for-each display-message messages)
       (cont result))
      (('reply ('version 0 x ...) ('result y) ('error error)
               ('messages messages))
       (for-each display-message messages)
       (raise-shepherd-error error)
       #f)
      (x
       ;; invalid reply
       #f))

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#31788] [PATCH] tests: Honor the return value of 'start-service'.
  2018-06-12 20:03   ` Clément Lassieur
@ 2018-06-12 20:38     ` Ludovic Courtès
  2018-06-12 20:50       ` Clément Lassieur
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2018-06-12 20:38 UTC (permalink / raw)
  To: Clément Lassieur; +Cc: 31788

Clément Lassieur <clement@lassieur.org> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> Hi Clément,
>>
>> Clément Lassieur <clement@lassieur.org> skribis:
>>
>>> Since commit dc7b3e56337ee9d8dcd8fe7d5cab71ef536d024f, 'start-service' returns
>>> the Shepherd's representation of the service as a sexp, and '#f' if the
>>> service fails to start.  Also, it doesn't throw an exception when the service
>>> fails to start, so relying on an exception instead of relying on its return
>>> value is a false positive.
>>
>> Looking at ‘invoke-action’ (used by ‘start-service’) in (gnu services
>> herd), it seems that an exception is raised upon error:
>>
>>       (('reply ('version 0 x ...) ('result y) ('error error)
>>                ('messages messages))
>>        (for-each display-message messages)
>>        (raise-shepherd-error error)
>>        #f)
>
> But that's for Shepherd errors.  When a service fails to start, it's not
> a Shepherd error, so if my understanding is correct '(cont result)'
> should be called.  With result being '#f'.

Oh, you’re right, sorry for the confusion.  So on success
‘start-service’ returns a truth value, and we’re fine.

I’m not entirely sure about things like this:

-          (test-eq "service running"
-            'running!
+          (test-assert "service running"
             (marionette-eval
              '(begin
                 (use-modules (gnu services herd))
-                (start-service 'mcron)
-                'running!)
+                (start-service 'mcron))
              marionette))

‘start-service’ in this case returns a number (the PID), and I think
‘test-assert’ reports a failure when the value is not exactly #t.  Isn’t
it the case?

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#31788] [PATCH] tests: Honor the return value of 'start-service'.
  2018-06-12 20:38     ` Ludovic Courtès
@ 2018-06-12 20:50       ` Clément Lassieur
  2018-06-13  6:51         ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: Clément Lassieur @ 2018-06-12 20:50 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 31788

Ludovic Courtès <ludo@gnu.org> writes:

> I’m not entirely sure about things like this:
>
> -          (test-eq "service running"
> -            'running!
> +          (test-assert "service running"
>              (marionette-eval
>               '(begin
>                  (use-modules (gnu services herd))
> -                (start-service 'mcron)
> -                'running!)
> +                (start-service 'mcron))
>               marionette))
>
> ‘start-service’ in this case returns a number (the PID), and I think
> ‘test-assert’ reports a failure when the value is not exactly #t.  Isn’t
> it the case?

srfi-64 says: "The test passes if the result is true", so I believe
test-assert reports a failure only when the value is #f (and maybe on
exceptions), because anything else is true in Scheme.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [bug#31788] [PATCH] tests: Honor the return value of 'start-service'.
  2018-06-12 20:50       ` Clément Lassieur
@ 2018-06-13  6:51         ` Ludovic Courtès
  2018-06-13  7:13           ` bug#31788: " Clément Lassieur
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2018-06-13  6:51 UTC (permalink / raw)
  To: Clément Lassieur; +Cc: 31788

Clément Lassieur <clement@lassieur.org> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> I’m not entirely sure about things like this:
>>
>> -          (test-eq "service running"
>> -            'running!
>> +          (test-assert "service running"
>>              (marionette-eval
>>               '(begin
>>                  (use-modules (gnu services herd))
>> -                (start-service 'mcron)
>> -                'running!)
>> +                (start-service 'mcron))
>>               marionette))
>>
>> ‘start-service’ in this case returns a number (the PID), and I think
>> ‘test-assert’ reports a failure when the value is not exactly #t.  Isn’t
>> it the case?
>
> srfi-64 says: "The test passes if the result is true", so I believe
> test-assert reports a failure only when the value is #f (and maybe on
> exceptions), because anything else is true in Scheme.

Yeah I know; I had a vague recollection of SRFI-64 behaving funny but
that’s no longer the case.  So I guess you can go ahead.

Thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* bug#31788: [PATCH] tests: Honor the return value of 'start-service'.
  2018-06-13  6:51         ` Ludovic Courtès
@ 2018-06-13  7:13           ` Clément Lassieur
  0 siblings, 0 replies; 7+ messages in thread
From: Clément Lassieur @ 2018-06-13  7:13 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 31788-done

Ludovic Courtès <ludo@gnu.org> writes:

> Clément Lassieur <clement@lassieur.org> skribis:
>
>> Ludovic Courtès <ludo@gnu.org> writes:
>>
>>> I’m not entirely sure about things like this:
>>>
>>> -          (test-eq "service running"
>>> -            'running!
>>> +          (test-assert "service running"
>>>              (marionette-eval
>>>               '(begin
>>>                  (use-modules (gnu services herd))
>>> -                (start-service 'mcron)
>>> -                'running!)
>>> +                (start-service 'mcron))
>>>               marionette))
>>>
>>> ‘start-service’ in this case returns a number (the PID), and I think
>>> ‘test-assert’ reports a failure when the value is not exactly #t.  Isn’t
>>> it the case?
>>
>> srfi-64 says: "The test passes if the result is true", so I believe
>> test-assert reports a failure only when the value is #f (and maybe on
>> exceptions), because anything else is true in Scheme.
>
> Yeah I know; I had a vague recollection of SRFI-64 behaving funny but
> that’s no longer the case.  So I guess you can go ahead.
>
> Thank you!

Pushed, thank you for reviewing!

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-06-13  7:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-11 22:05 [bug#31788] [PATCH] tests: Honor the return value of 'start-service' Clément Lassieur
2018-06-12 19:46 ` Ludovic Courtès
2018-06-12 20:03   ` Clément Lassieur
2018-06-12 20:38     ` Ludovic Courtès
2018-06-12 20:50       ` Clément Lassieur
2018-06-13  6:51         ` Ludovic Courtès
2018-06-13  7:13           ` bug#31788: " Clément Lassieur

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.