guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

08/11: build-system/minetest: Gather whole failing test output.


From: guix-commits
Subject: 08/11: build-system/minetest: Gather whole failing test output.
Date: Sat, 16 Oct 2021 11:33:11 -0400 (EDT)

nckx pushed a commit to branch master
in repository guix.

commit b0248a52e0ae261d5cbb475066ecf6a321a9a1d0
Author: Vivien Kraus <vivien@planete-kraus.eu>
AuthorDate: Sun Sep 19 20:03:10 2021 +0200

    build-system/minetest: Gather whole failing test output.
    
    * guix/build/minetest-build-system.scm (check):
    Gather the whole output when a test fails.
    
    Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
---
 guix/build/minetest-build-system.scm | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/guix/build/minetest-build-system.scm 
b/guix/build/minetest-build-system.scm
index 477cc3d..c14c6d1 100644
--- a/guix/build/minetest-build-system.scm
+++ b/guix/build/minetest-build-system.scm
@@ -23,6 +23,7 @@
   #:use-module (ice-9 rdelim)
   #:use-module (ice-9 receive)
   #:use-module (ice-9 regex)
+  #:use-module (ice-9 exceptions)
   #:use-module ((guix build gnu-build-system) #:prefix gnu:)
   #:use-module ((guix build copy-build-system) #:prefix copy:)
   #:export (%standard-phases
@@ -199,20 +200,24 @@ auth_backend = sqlite3
         (define (stop? line)
           (and (string? line)
                (string-contains line "ACTION[Server]: singleplayer [127.0.0.1] 
joins game.")))
-        (let loop ()
-          (match (read-line port)
-            ((? error? line)
-             (error "minetest raised an error: ~a" line))
-            ((? stop?)
+        (let loop ((has-errors? #f))
+          (match `(,(read-line port) ,has-errors?)
+            (((? error? line) _)
+             (display line)
+             (newline)
+             (loop #t))
+            (((? stop?) #f)
              (kill pid SIGINT)
              (close-port port)
              (waitpid pid))
-            ((? string? line)
+            (((? eof-object?) #f)
+             (error "minetest didn't start"))
+            (((or (? stop?) (? eof-object?)) #t)
+             (error "minetest raised an error"))
+            (((? string? line) has-error?)
              (display line)
              (newline)
-             (loop))
-            ((? eof-object?)
-             (error "minetest didn't start"))))))))
+             (loop has-error?))))))))
 
 (define %standard-phases
   (modify-phases gnu:%standard-phases



reply via email to

[Prev in Thread] Current Thread [Next in Thread]