me
/
guix
Archived
1
0
Fork 0

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>
master
Vivien Kraus 2021-09-19 20:03:10 +02:00 committed by Tobias Geerinckx-Rice
parent 6979d57e53
commit b0248a52e0
No known key found for this signature in database
GPG Key ID: 0DB0FF884F556D79
1 changed files with 14 additions and 9 deletions

View File

@ -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