summaryrefslogtreecommitdiff
path: root/gnu/build/marionette.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2021-09-26 23:35:58 +0200
committerLudovic Courtès <ludo@gnu.org>2021-09-26 23:35:58 +0200
commit9980ac0f99f88972d023bf19ad4b0f536f6c29fa (patch)
tree5f0d35cb009fcf24fdcf3dee96887e79c15d676d /gnu/build/marionette.scm
parent89b05442933d92f4b21c3294455a498e8333727d (diff)
downloadguix-patches-9980ac0f99f88972d023bf19ad4b0f536f6c29fa.tar
guix-patches-9980ac0f99f88972d023bf19ad4b0f536f6c29fa.tar.gz
marionette: Print a line when a test succeeds.
* gnu/build/marionette.scm (system-test-runner): Add call to 'test-runner-on-test-end!'.
Diffstat (limited to 'gnu/build/marionette.scm')
-rw-r--r--gnu/build/marionette.scm15
1 files changed, 15 insertions, 0 deletions
diff --git a/gnu/build/marionette.scm b/gnu/build/marionette.scm
index e76ef16f51..0ebe535526 100644
--- a/gnu/build/marionette.scm
+++ b/gnu/build/marionette.scm
@@ -385,6 +385,21 @@ LOG-DIRECTORY is specified, create log file within it."
(string-append log-directory "/" suite-name ".log")))
(on-begin runner suite-name count))))
+ ;; The default behavior on 'test-end' is to only write a line if the test
+ ;; failed. Arrange to also write a line on success.
+ (test-runner-on-test-end! runner
+ (let ((on-end (test-runner-on-test-end runner)))
+ (lambda (runner)
+ (let* ((kind (test-result-ref runner 'result-kind))
+ (results (test-result-alist runner))
+ (test-name (assq-ref results 'test-name)))
+ (unless (memq kind '(fail xpass))
+ (format (current-output-port) "~a: ~a~%"
+ (string-upcase (symbol->string kind))
+ test-name)))
+
+ (on-end runner))))
+
;; On 'test-end', display test results and exit with zero if and only if
;; there were no test failures.
(test-runner-on-final! runner