summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--build-aux/run-system-tests.scm13
1 files changed, 12 insertions, 1 deletions
diff --git a/build-aux/run-system-tests.scm b/build-aux/run-system-tests.scm
index f7c99def23..3f3a70e7b4 100644
--- a/build-aux/run-system-tests.scm
+++ b/build-aux/run-system-tests.scm
@@ -24,6 +24,7 @@
   #:use-module (guix ui)
   #:use-module (srfi srfi-1)
   #:use-module (srfi srfi-34)
+  #:use-module (ice-9 match)
   #:export (run-system-tests))
 
 (define (built-derivations* drv)
@@ -46,7 +47,17 @@
 
 (define (run-system-tests . args)
   (define tests
-    (all-system-tests))
+    ;; Honor the 'TESTS' environment variable so that one can select a subset
+    ;; of tests to run in the usual way:
+    ;;
+    ;;   make check-system TESTS=installed-os
+    (match (getenv "TESTS")
+      (#f
+       (all-system-tests))
+      ((= string-tokenize (tests ...))
+       (filter (lambda (test)
+                 (member (system-test-name test) tests))
+               (all-system-tests)))))
 
   (format (current-error-port) "Running ~a system tests...~%"
           (length tests))