diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2021-09-19 20:03:10 +0200 |
---|---|---|
committer | Tobias Geerinckx-Rice <me@tobias.gr> | 2021-10-16 17:30:30 +0200 |
commit | b0248a52e0ae261d5cbb475066ecf6a321a9a1d0 (patch) | |
tree | ee7de38f0bf4543f38270746d47e8632cdfde72f /guix | |
parent | 6979d57e5362a26ee4047f307ae2d73d5b45433e (diff) |
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>
Diffstat (limited to 'guix')
-rw-r--r-- | guix/build/minetest-build-system.scm | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/guix/build/minetest-build-system.scm b/guix/build/minetest-build-system.scm index 477cc3d1d0..c14c6d1fcc 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 |