summaryrefslogtreecommitdiff
path: root/tests/status.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-06-26 16:14:40 +0200
committerLudovic Courtès <ludo@gnu.org>2022-06-26 23:19:14 +0200
commitf99f00fc814a3e1a3e1cedb5059c896e3303677c (patch)
tree6487e1037b10872cdffc8a7ad607b46b6bb38b6a /tests/status.scm
parentc31605b58228dbd10c819311a17341a22c9e5118 (diff)
status: Relay "updating substitutes" messages.
Until now, those messages would be accumulated and displayed all at once, when a '\n' was finally emitted by 'guix substitute'. In the meantime, clients would remain silent. * guix/status.scm (bytevector-index): Change 'number' parameter to 'numbers' and adjust accordingly. (build-event-output-port): Pass both #\newline and #\return to 'bytevector-index'. * tests/status.scm ("build-output-port, daemon messages with LF"): New test.
Diffstat (limited to 'tests/status.scm')
-rw-r--r--tests/status.scm14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/status.scm b/tests/status.scm
index 79024ba2b36..b0af6198723 100644
--- a/tests/status.scm
+++ b/tests/status.scm
@@ -124,6 +124,20 @@
124 (force-output port) 124 (force-output port)
125 (get-status))) 125 (get-status)))
126 126
127(test-equal "build-output-port, daemon messages with LF"
128 '((build-log #f "updating substitutes... 0%\r")
129 (build-log #f "updating substitutes... 50%\r")
130 (build-log #f "updating substitutes... 100%\r"))
131 (let ((port get-status (build-event-output-port cons '())))
132 (for-each (lambda (suffix)
133 (let ((bv (string->utf8
134 (string-append "updating substitutes... "
135 suffix "\r"))))
136 (put-bytevector port bv)
137 (force-output port)))
138 '("0%" "50%" "100%"))
139 (reverse (get-status))))
140
127(test-equal "current-build-output-port, UTF-8 + garbage" 141(test-equal "current-build-output-port, UTF-8 + garbage"
128 ;; What about a mixture of UTF-8 + garbage? 142 ;; What about a mixture of UTF-8 + garbage?
129 (let ((replacement "�")) 143 (let ((replacement "�"))