summaryrefslogtreecommitdiff
path: root/gnu/installer
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2020-06-09 17:29:23 +0200
committerMathieu Othacehe <othacehe@gnu.org>2020-06-09 17:59:05 +0200
commit9392652e911b3963ef0f52f39677a6fc953f1e1e (patch)
tree210633b79d016fd49cca309e0bce98873d0484d8 /gnu/installer
parentce16b07d10ebda486d6e4cb6fd30fe797125aeac (diff)
downloadguix-patches-9392652e911b3963ef0f52f39677a6fc953f1e1e.tar
guix-patches-9392652e911b3963ef0f52f39677a6fc953f1e1e.tar.gz
installer: final: Dump "guix system init" command output when testing.
When debugging the installation tests, it can be very handy to be able to read "guix system init" command output. * gnu/installer/final.scm (install-system): Dump installation command output to the console when running the installation tests.
Diffstat (limited to 'gnu/installer')
-rw-r--r--gnu/installer/final.scm13
1 files changed, 12 insertions, 1 deletions
diff --git a/gnu/installer/final.scm b/gnu/installer/final.scm
index 90c76e9d5f..e06b104d59 100644
--- a/gnu/installer/final.scm
+++ b/gnu/installer/final.scm
@@ -205,7 +205,18 @@ or #f. Return #t on success and #f on failure."
(lambda ()
(start-service 'cow-store (list (%installer-target-dir))))
(lambda ()
- (run-command install-command #:locale locale))
+ ;; If there are any connected clients, assume that we are running
+ ;; installation tests. In that case, dump the standard and error
+ ;; outputs to syslog.
+ (if (not (null? (current-clients)))
+ (with-output-to-file "/dev/console"
+ (lambda ()
+ (with-error-to-file "/dev/console"
+ (lambda ()
+ (setvbuf (current-output-port) 'none)
+ (setvbuf (current-error-port) 'none)
+ (run-command install-command #:locale locale)))))
+ (run-command install-command #:locale locale)))
(lambda ()
(stop-service 'cow-store)
;; Remove the store overlay created at cow-store service start.