diff --git a/gnu/tests/admin.scm b/gnu/tests/admin.scm index 3c7deb5426..a5abbe9ad4 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 +;;; Copyright © 2018 Clément Lassieur ;;; ;;; 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 3faeddef6c..05c846264d 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 +;;; Copyright © 2018 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -517,13 +518,11 @@ in a loop. See .") (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 .") (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)) - (start-service 'nscd) + (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)) - ;; 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))))) + (test-assert "avahi is running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'avahi-daemon)) + marionette)) - ;; 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 4431e37dc1..dd60ffd464 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 +;;; Copyright © 2018 Clément Lassieur ;;; ;;; 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 4de13b8684..5677969fac 100644 --- a/gnu/tests/mail.scm +++ b/gnu/tests/mail.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017 Carlo Zancanaro ;;; Copyright © 2017 Ludovic Courtès ;;; Copyright © 2018 Oleg Pykhalov +;;; Copyright © 2018 Clément Lassieur ;;; ;;; 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 f17dfe6265..f5f99b9f56 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 +;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017, 2018 Ludovic Courtès ;;; ;;; 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 d58cf7aefd..140f03779b 100644 --- a/gnu/tests/nfs.scm +++ b/gnu/tests/nfs.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016 John Darrington ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2018 Clément Lassieur ;;; ;;; 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 c97836788b..a6f8fa2bd1 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 +;;; Copyright © 2018 Clément Lassieur ;;; ;;; 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 9247a43e6d..2e40122add 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 -;;; Copyright © 2017 Clément Lassieur +;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017 Marius Bakke ;;; ;;; 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 8024739734..3b935a1b48 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 ;;; Copyright © 2017, 2018 Ludovic Courtès -;;; Copyright © 2017 Clément Lassieur +;;; Copyright © 2017, 2018 Clément Lassieur ;;; ;;; 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 a6bf6efcfe..73d502dd0e 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 ;;; Copyright © 2017 Christopher Baines -;;; Copyright © 2017 Clément Lassieur +;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; ;;; 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"