summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/tests/audio.scm5
-rw-r--r--gnu/tests/base.scm15
-rw-r--r--gnu/tests/ci.scm5
-rw-r--r--gnu/tests/cups.scm5
-rw-r--r--gnu/tests/databases.scm15
-rw-r--r--gnu/tests/desktop.scm5
-rw-r--r--gnu/tests/dict.scm5
-rw-r--r--gnu/tests/docker.scm10
-rw-r--r--gnu/tests/file-sharing.scm5
-rw-r--r--gnu/tests/ganeti.scm5
-rw-r--r--gnu/tests/guix.scm10
-rw-r--r--gnu/tests/ldap.scm5
-rw-r--r--gnu/tests/linux-modules.scm5
-rw-r--r--gnu/tests/mail.scm20
-rw-r--r--gnu/tests/messaging.scm15
-rw-r--r--gnu/tests/monitoring.scm10
-rw-r--r--gnu/tests/networking.scm30
-rw-r--r--gnu/tests/nfs.scm15
-rw-r--r--gnu/tests/package-management.scm5
-rw-r--r--gnu/tests/reconfigure.scm15
-rw-r--r--gnu/tests/rsync.scm5
-rw-r--r--gnu/tests/security-token.scm5
-rw-r--r--gnu/tests/singularity.scm5
-rw-r--r--gnu/tests/ssh.scm5
-rw-r--r--gnu/tests/telephony.scm5
-rw-r--r--gnu/tests/version-control.scm20
-rw-r--r--gnu/tests/virtualization.scm10
-rw-r--r--gnu/tests/web.scm25
28 files changed, 57 insertions, 228 deletions
diff --git a/gnu/tests/audio.scm b/gnu/tests/audio.scm
index 0124fa36a0..8aa6d1e818 100644
--- a/gnu/tests/audio.scm
+++ b/gnu/tests/audio.scm
@@ -48,10 +48,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "mpd")
 
           (test-assert "service is running"
diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm
index 81be8de1cf..4bc3598874 100644
--- a/gnu/tests/base.scm
+++ b/gnu/tests/base.scm
@@ -94,10 +94,7 @@ Otherwise assume that there is no password for root."
           (define marionette
             (make-marionette #$command))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "basic")
 
           #$(and initialization
@@ -642,10 +639,7 @@ in a loop.  See <http://bugs.gnu.org/26931>.")
           (define marionette
             (make-marionette (list #$(virtual-machine os))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "cleanup")
 
           (test-assert "dirty service worked"
@@ -713,10 +707,7 @@ non-ASCII names from /tmp.")
           (define marionette
             (make-marionette (list #$(virtual-machine os))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "mcron")
 
           (test-assert "service running"
diff --git a/gnu/tests/ci.scm b/gnu/tests/ci.scm
index b7970017fc..5294514c66 100644
--- a/gnu/tests/ci.scm
+++ b/gnu/tests/ci.scm
@@ -70,10 +70,7 @@ HTTP-PORT."
             ;; port 8080 in the host.
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "laminar")
 
           (test-assert "service running"
diff --git a/gnu/tests/cups.scm b/gnu/tests/cups.scm
index fd6d87d2bf..4c7d78b7c8 100644
--- a/gnu/tests/cups.scm
+++ b/gnu/tests/cups.scm
@@ -54,10 +54,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "cups")
 
           ;; Wait for the web interface to become ready.
diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm
index ba2bb182b9..ead8593854 100644
--- a/gnu/tests/databases.scm
+++ b/gnu/tests/databases.scm
@@ -61,10 +61,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "memcached")
 
           ;; Wait for memcached to be up and running.
@@ -179,10 +176,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "postgresql")
 
           (test-assert "service running"
@@ -283,10 +277,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "mysql")
 
           (test-assert "service running"
diff --git a/gnu/tests/desktop.scm b/gnu/tests/desktop.scm
index 67e530d392..57069c0ede 100644
--- a/gnu/tests/desktop.scm
+++ b/gnu/tests/desktop.scm
@@ -43,10 +43,7 @@
           (define marionette
             (make-marionette '(#$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "elogind")
 
           ;; Log in as root on tty1, and check what 'loginctl' returns.
diff --git a/gnu/tests/dict.scm b/gnu/tests/dict.scm
index 51343be7de..4d9702360c 100644
--- a/gnu/tests/dict.scm
+++ b/gnu/tests/dict.scm
@@ -79,10 +79,7 @@
           (define %dico-socket
             (socket PF_INET SOCK_STREAM 0))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "dicod")
 
           ;; Wait for the service to be started.
diff --git a/gnu/tests/docker.scm b/gnu/tests/docker.scm
index 45b5d375ea..bc119988b7 100644
--- a/gnu/tests/docker.scm
+++ b/gnu/tests/docker.scm
@@ -76,10 +76,7 @@ inside %DOCKER-OS."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "docker")
 
           (test-assert "service running"
@@ -221,10 +218,7 @@ inside %DOCKER-OS."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "docker")
 
           (test-assert "service running"
diff --git a/gnu/tests/file-sharing.scm b/gnu/tests/file-sharing.scm
index 7dd2a847f0..d1343e2eba 100644
--- a/gnu/tests/file-sharing.scm
+++ b/gnu/tests/file-sharing.scm
@@ -91,10 +91,7 @@
                       (port-forwardings
                        `((9091 . ,%transmission-daemon-rpc-port)))))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "transmission-daemon")
 
           ;; Make sure the "transmission" user and group have been created.
diff --git a/gnu/tests/ganeti.scm b/gnu/tests/ganeti.scm
index be70d1117a..6d3f032036 100644
--- a/gnu/tests/ganeti.scm
+++ b/gnu/tests/ganeti.scm
@@ -117,10 +117,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "ganeti")
 
           ;; Ganeti uses the Shepherd to start/stop daemons, so make sure
diff --git a/gnu/tests/guix.scm b/gnu/tests/guix.scm
index 7e3bc8c1f5..69cac7c1aa 100644
--- a/gnu/tests/guix.scm
+++ b/gnu/tests/guix.scm
@@ -74,10 +74,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "guix-build-coordinator")
 
           (test-assert "service running"
@@ -199,10 +196,7 @@ host	all	all	::1/128 	trust"))))))
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "guix-data-service")
 
           (test-assert "service running"
diff --git a/gnu/tests/ldap.scm b/gnu/tests/ldap.scm
index e149972027..d5403b3539 100644
--- a/gnu/tests/ldap.scm
+++ b/gnu/tests/ldap.scm
@@ -69,10 +69,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "ldap")
 
           ;; Set up LDAP directory server
diff --git a/gnu/tests/linux-modules.scm b/gnu/tests/linux-modules.scm
index 200c151008..69cb013267 100644
--- a/gnu/tests/linux-modules.scm
+++ b/gnu/tests/linux-modules.scm
@@ -88,10 +88,7 @@ that MODULES are actually loaded."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "loadable-kernel-modules")
           (test-assert "script successfully evaluated"
             (marionette-eval
diff --git a/gnu/tests/mail.scm b/gnu/tests/mail.scm
index ae6417c119..f13751b72f 100644
--- a/gnu/tests/mail.scm
+++ b/gnu/tests/mail.scm
@@ -85,10 +85,7 @@ match from any for local action inbound
                   code
                   (read-reply-code port))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "opensmptd")
 
           (test-assert "service is running"
@@ -230,10 +227,7 @@ acl_check_data:
           (define smtp (socket AF_INET SOCK_STREAM 0))
           (define addr (make-socket-address AF_INET INADDR_LOOPBACK 1025))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "exim")
 
           (test-assert "service is running"
@@ -338,10 +332,7 @@ acl_check_data:
           (define message "From: test@example.com\n\
 Subject: Hello Nice to meet you!")
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "dovecot")
 
           ;; Wait for dovecot to be up and running.
@@ -489,10 +480,7 @@ Subject: Hello Nice to meet you!")
           (define message "From: test@example.com\n\
 Subject: Hello Nice to meet you!")
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "getmail")
 
           ;; Wait for dovecot to be up and running.
diff --git a/gnu/tests/messaging.scm b/gnu/tests/messaging.scm
index db9516a485..202a1c2f73 100644
--- a/gnu/tests/messaging.scm
+++ b/gnu/tests/messaging.scm
@@ -98,10 +98,7 @@
                     (else
                      (error "file didn't show up" file)))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "xmpp")
 
           ;; Wait for XMPP service to be up and running.
@@ -191,10 +188,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "bitlbee")
 
           (test-assert "service started"
@@ -264,10 +258,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "quassel")
 
           (test-assert "service started"
diff --git a/gnu/tests/monitoring.scm b/gnu/tests/monitoring.scm
index 5039e22765..ae0a8e0845 100644
--- a/gnu/tests/monitoring.scm
+++ b/gnu/tests/monitoring.scm
@@ -63,10 +63,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin #$name)
 
           (test-assert "prometheus-node-exporter running"
@@ -165,10 +162,7 @@ cat ~a | sudo -u zabbix psql zabbix;
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin #$name)
 
           ;; XXX: Shepherd reads the config file *before* binding its control
diff --git a/gnu/tests/networking.scm b/gnu/tests/networking.scm
index fc2060b3ec..cebba7c7ca 100644
--- a/gnu/tests/networking.scm
+++ b/gnu/tests/networking.scm
@@ -104,10 +104,7 @@ port 7, and a dict service on port 2628."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "inetd")
 
           ;; Make sure the PID file is created.
@@ -204,10 +201,7 @@ port 7, and a dict service on port 2628."
           (define marionette
             (make-marionette (list #$(virtual-machine os))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "openvswitch")
 
           ;; Make sure the bridge is created.
@@ -304,10 +298,7 @@ subnet 192.168.1.0 netmask 255.255.255.0 {
           (define marionette
             (make-marionette (list #$(virtual-machine os))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "dhcpd")
 
           (test-assert "pid file exists"
@@ -399,10 +390,7 @@ subnet 192.168.1.0 netmask 255.255.255.0 {
                        (current-services))))
              marionette))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "tor")
 
           ;; Test the usual Tor service.
@@ -526,10 +514,7 @@ COMMIT
                            (loop (read-line in)))))))))
              marionette))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "iptables")
 
           (test-equal "iptables-save dumps the same rules that were loaded"
@@ -622,10 +607,7 @@ COMMIT
              marionette))
 
           (marionette-eval '(use-modules (guix ipfs)) marionette)
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "ipfs")
 
           ;; Test the IPFS service.
diff --git a/gnu/tests/nfs.scm b/gnu/tests/nfs.scm
index 7b6aa51cac..7b7dd8c360 100644
--- a/gnu/tests/nfs.scm
+++ b/gnu/tests/nfs.scm
@@ -92,10 +92,7 @@
                        (error "Socket didn't show up: " ,file))))
              marionette))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "rpc-daemon")
 
           ;; Wait for the rpcbind daemon to be up and running.
@@ -198,10 +195,7 @@
           (define marionette
             (make-marionette (list #$(virtual-machine os))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "nfs-daemon")
           (marionette-eval
            '(begin
@@ -310,10 +304,7 @@ directories can be mounted.")
           (use-modules (gnu build marionette)
                        (srfi srfi-64))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "start-nfs-boot-test")
 
           ;;; Start up NFS server host.
diff --git a/gnu/tests/package-management.scm b/gnu/tests/package-management.scm
index 7033f040dd..fe897944d0 100644
--- a/gnu/tests/package-management.scm
+++ b/gnu/tests/package-management.scm
@@ -60,10 +60,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin #$name)
 
           ;; XXX: Shepherd reads the config file *before* binding its control
diff --git a/gnu/tests/reconfigure.scm b/gnu/tests/reconfigure.scm
index b97fedcf6b..2fd7c6854d 100644
--- a/gnu/tests/reconfigure.scm
+++ b/gnu/tests/reconfigure.scm
@@ -79,10 +79,7 @@ generation of the system profile."
                           entries)))
              marionette))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "switch-to-system")
 
           (let ((generations-prior (system-generations marionette)))
@@ -153,10 +150,7 @@ Shepherd (PID 1) by unloading obsolete services and loading new services."
                 (map live-service-canonical-name (current-services)))
              marionette))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "upgrade-services")
 
           (let ((services-prior (running-services marionette)))
@@ -220,10 +214,7 @@ bootloader's configuration file."
                      (second (string-split (match:substring parameter) #\=)))
                    (list-matches "system=[^ ]*" grub-cfg))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "install-bootloader")
 
           (test-assert "no prior menu entry for system generation"
diff --git a/gnu/tests/rsync.scm b/gnu/tests/rsync.scm
index 2227edf30d..91f2b41cec 100644
--- a/gnu/tests/rsync.scm
+++ b/gnu/tests/rsync.scm
@@ -54,10 +54,7 @@ PORT."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "rsync")
 
           ;; Wait for rsync to be up and running.
diff --git a/gnu/tests/security-token.scm b/gnu/tests/security-token.scm
index d28d23a1ae..07270c0bfd 100644
--- a/gnu/tests/security-token.scm
+++ b/gnu/tests/security-token.scm
@@ -44,10 +44,7 @@
           (define marionette
             (make-marionette (list #$(virtual-machine os))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "pcscd")
 
           (test-assert "pcscd is alive"
diff --git a/gnu/tests/singularity.scm b/gnu/tests/singularity.scm
index ac2dec19b8..f4b9776b48 100644
--- a/gnu/tests/singularity.scm
+++ b/gnu/tests/singularity.scm
@@ -72,10 +72,7 @@
           (define marionette
             (make-marionette (list #$(virtual-machine os))))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "singularity")
 
           (test-assert "singularity exec /bin/guile (as root)"
diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm
index 7442bd1c2e..791ff7b73f 100644
--- a/gnu/tests/ssh.scm
+++ b/gnu/tests/ssh.scm
@@ -108,10 +108,7 @@ root with an empty password."
                         ('denied
                          (loop rest)))))))))
 
-            (mkdir #$output)
-            (chdir #$output)
-
-            (test-runner-current (system-test-runner))
+            (test-runner-current (system-test-runner #$output))
             (test-begin "ssh-daemon")
 
             ;; Wait for sshd to be up and running.
diff --git a/gnu/tests/telephony.scm b/gnu/tests/telephony.scm
index 2d44d00165..998bdbccf9 100644
--- a/gnu/tests/telephony.scm
+++ b/gnu/tests/telephony.scm
@@ -138,10 +138,7 @@ accounts provisioning feature of the service."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "jami")
 
           (test-assert "service is running"
diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm
index c45c2d297c..092591f40d 100644
--- a/gnu/tests/version-control.scm
+++ b/gnu/tests/version-control.scm
@@ -132,10 +132,7 @@ HTTP-PORT."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "cgit")
 
           ;; XXX: Shepherd reads the config file *before* binding its control
@@ -270,10 +267,7 @@ HTTP-PORT."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "git-http")
 
           ;; Wait for nginx to be up and running.
@@ -367,10 +361,7 @@ HTTP-PORT."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "gitolite")
 
           ;; Wait for sshd to be up and running.
@@ -472,10 +463,7 @@ HTTP-PORT."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "gitile")
 
           ;; XXX: Shepherd reads the config file *before* binding its control
diff --git a/gnu/tests/virtualization.scm b/gnu/tests/virtualization.scm
index 73f19db4e5..628cd0549b 100644
--- a/gnu/tests/virtualization.scm
+++ b/gnu/tests/virtualization.scm
@@ -73,10 +73,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "libvirt")
 
           (test-assert "service running"
@@ -193,10 +190,7 @@
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "childhurd")
 
           (test-assert "service running"
diff --git a/gnu/tests/web.scm b/gnu/tests/web.scm
index c9b6f17f07..dd55aedf05 100644
--- a/gnu/tests/web.scm
+++ b/gnu/tests/web.scm
@@ -113,10 +113,7 @@ HTTP-PORT."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin #$name)
 
           (test-assert #$(string-append name " service running")
@@ -309,10 +306,7 @@ HTTP-PORT, along with php-fpm."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "php-fpm")
 
           (test-assert "php-fpm running"
@@ -393,10 +387,7 @@ HTTP-PORT, along with php-fpm."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin #$name)
 
           (test-assert "hpcguix-web running"
@@ -485,10 +476,7 @@ HTTP-PORT."
             ;; port 8080 in the host.
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "tailon")
 
           (test-assert "service running"
@@ -629,10 +617,7 @@ HTTP-PORT."
           (define marionette
             (make-marionette (list #$vm)))
 
-          (mkdir #$output)
-          (chdir #$output)
-
-          (test-runner-current (system-test-runner))
+          (test-runner-current (system-test-runner #$output))
           (test-begin "patchwork")
 
           (test-assert "patchwork-postgresql-user-and-service started"