>
<meta name='robots' content='noindex, nofollow'/>
<link rel='stylesheet' type='text/css' href='/cgit-static/cgit.css'/>
<link rel='stylesheet' type='text/css' href='/cgit-static/better-cgit-markdown-heading-color.css'/>
<link rel='shortcut icon' href='/cgit-static/favicon.ico'/>
<link rel='alternate' title='Atom feed' href='https://git.koszko.org/guix/atom/tests/status.scm?h=koszko' type='application/atom+xml'/>
</head>
<body>
<div id='cgit'><table id='header'>
<tr>
<td class='logo' rowspan='2'><a href='/'><img src='https://git.koszko.org/cgit-static/cgit.png' alt='cgit logo'/></a></td>
<td class='main'><a href='/'>index</a> : <a href='/guix/'>guix</a></td><td class='form'><form method='get'>
<input type='hidden' name='id' value='a30627d82bd53ab048410586d44ba1debc1d1010'/><input type='hidden' name='showmsg' value='1'/><select name='h' onchange='this.form.submit();'>
<option value='koszko' selected='selected'>koszko</option>
<option value='koszko-scripts'>koszko-scripts</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>Wojtek's customized Guix</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/guix/about/'>about</a><a href='/guix/'>summary</a><a href='/guix/refs/?id=a30627d82bd53ab048410586d44ba1debc1d1010'>refs</a><a class='active' href='/guix/log/tests/status.scm?showmsg=1'>log</a><a href='/guix/tree/tests/status.scm?id=a30627d82bd53ab048410586d44ba1debc1d1010'>tree</a><a href='/guix/commit/tests/status.scm?id=a30627d82bd53ab048410586d44ba1debc1d1010'>commit</a><a href='/guix/diff/tests/status.scm?id=a30627d82bd53ab048410586d44ba1debc1d1010'>diff</a></td><td class='form'><form class='right' method='get' action='/guix/log/tests/status.scm'>
<input type='hidden' name='id' value='a30627d82bd53ab048410586d44ba1debc1d1010'/><input type='hidden' name='showmsg' value='1'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/guix/log/?id=a30627d82bd53ab048410586d44ba1debc1d1010&amp;showmsg=1'>root</a>/<a href='/guix/log/tests?id=a30627d82bd53ab048410586d44ba1debc1d1010&amp;showmsg=1'>tests</a>/<a href='/guix/log/tests/status.scm?id=a30627d82bd53ab048410586d44ba1debc1d1010&amp;showmsg=1'>status.scm</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/guix/log/tests/status.scm?id=a30627d82bd53ab048410586d44ba1debc1d1010'>Collapse</a>)</th><th class='left'>Author</th></tr>
<tr class='logheader'><td><span title='2019-02-05 12:03:25 +0100'>2019-02-05</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=ba514b601ba6be15b823e0a12d4b6e42f9d2489e'>status: Keep track of the current build phase.</a></td><td>Ludovic Courtès</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
* guix/status.scm (&lt;build&gt;)[phase]: New field.
(%phase-start-rx): New variable.
(update-build): Add clause to match %PHASE-START-RX and adjust the
'phase' field accordingly.
* tests/status.scm ("compute-status, build phase"): Add test


</td></tr>
<tr class='logheader'><td><span title='2019-01-29 12:09:52 +0100'>2019-01-29</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=73a8681a16869a2b3a9da1c7ba9434e07a204e19'>status: Keep track of build completion as reported by build tools.</a></td><td>Ludovic Courtès</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
* guix/status.scm (&lt;build&gt;)[completion]: New field.
(build): Add #:completion parameter.
(%percentage-line-rx, %fraction-line-rx): New variables.
(update-build): New procedure.
(compute-status): Add 'build-log' case.
* tests/status.scm ("compute-status, build completion"): New test.


</td></tr>
<tr class='logheader'><td><span title='2019-01-29 12:09:52 +0100'>2019-01-29</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=976ef2d97887d16eab8d4eb9dad811786b04d690'>status: Record more information about builds.</a></td><td>Ludovic Courtès</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
* guix/status.scm (&lt;build&gt;): New record type.
(build, matching-build): New procedures.
(compute-status): Adjust to manipulate &lt;build&gt; records instead of
derivation file names in 'build-status-builds-completed' and
'build-status-building'.
(build-event-output-port)[process-line]: Use 'string-split' to preserve
spaces.
* tests/status.scm ("compute-status, builds + substitutes")
("compute-status, missing events"): Adjust to expect &lt;build&gt; records.
Produce complete "build-started" events.
("compute-status, multiplexed build output"): Likewise, and remove
"bar.drv" from 'builds-completed'.


</td></tr>
<tr class='logheader'><td><span title='2019-01-09 14:47:53 +0100'>2019-01-09</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=a65177a657b0cb36d45f2e8db574ea9c10f89a1f'>maint: Remove 'cond-expand' forms for Guile 2.0.</a></td><td>Ludovic Courtès</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
Note: Leave 'cond-expand' forms used in the build-side modules that can
run on %BOOTSTRAP-GUILE, which is currently Guile 2.0.

* guix/build/compile.scm: Move 'use-modules' clause from 'cond-expand'
to 'define-module' form.
(%default-optimizations): Remove 'cond-expand'.
* guix/build/download.scm (tls-wrap): Remove 'cond-expand'.
* guix/build/syscalls.scm: Remove 'cond-expand' form around
'%set-automatic-finalization-enabled?!' and
'without-automatic-finalization'.
* guix/inferior.scm (port-&gt;inferior): Remove 'cond-expand'.
* guix/scripts/pack.scm (wrapped-package)[build]: Remove 'cond-expand'.
* guix/status.scm (build-event-output-port): Remove 'cond-expand'.
* guix/store.scm (open-inet-socket): Remove 'cond-expand'.
* guix/ui.scm (install-locale): Remove 'cond-expand'.
* tests/status.scm ("current-build-output-port, UTF-8 + garbage"):
Remove 'cond-expand'.
* tests/store.scm ("current-build-output-port, UTF-8 + garbage"):
Remove 'cond-expand'.


</td></tr>
<tr class='logheader'><td><span title='2018-10-16 17:12:09 -0500'>2018-10-16</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=278f86a43f1561b1c064ce88da012db414ec7efc'>ui: Fix port-buffering with guile@2.0.</a></td><td>Eric Bavier</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
* guix/status.scm (build-event-output-port)[guile@2.0]: Do not call 'setvbuf'
on custom binary port.
* tests/status.scm (current-build-output-port, UTF-8 + garbage)[guile@2.0]:
Use "?" in place of REPLACEMENT CHARACTER.


</td></tr>
<tr class='logheader'><td><span title='2018-10-15 23:06:55 +0200'>2018-10-15</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=f9a8fce10f2d99efec7cb1dd0f6c5f0df9d1b2df'>status: Build upon multiplexed build output.</a></td><td>Ludovic Courtès</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
This allows for more accurate status tracking and parsing of extended
build traces.

* guix/status.scm (multiplexed-output-supported?): New procedure.
(print-build-event): Don't print \r when PRINT-LOG? is true.
Adjust 'build-log' handling for when 'multiplexed-output-supported?'
returns true.
(bytevector-index, split-lines): New procedures.
(build-event-output-port)[%build-output-pid, %build-output]
[%build-output-left]: New variables.
[process-line]: Handle "@ build-output" traces.
[process-build-output]: New procedure.
[write!]: Add case for when %BUILD-OUTPUT-PID is true.  Use
'bytevector-index' rather than 'string-index'.
(compute-status): Add #:derivation-path-&gt;output-path.  Use it.
* tests/status.scm ("compute-status, multiplexed build output"):
New test.
("build-output-port, UTF-8")
("current-build-output-port, UTF-8 + garbage"): Adjust to new
'build-log' output.
* guix/scripts/build.scm (set-build-options-from-command-line):
Pass #:multiplexed-build-output?.
(%default-options): Add 'multiplexed-build-output?'.
* guix/scripts/environment.scm (%default-options): Likewise.
* guix/scripts/pack.scm (%default-options): Likewise.
* guix/scripts/package.scm (%default-options): Likewise.
* guix/scripts/pull.scm (%default-options): Likewise.
* guix/scripts/system.scm (%default-options): Likewise.


</td></tr>
<tr class='logheader'><td><span title='2018-10-09 18:54:12 +0200'>2018-10-09</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=fe17037b387c6eca0c45f0526d2761e982a192bb'>status: Gracefully handle invalid UTF-8 in build logs.</a></td><td>Ludovic Courtès</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
* guix/status.scm (maybe-utf8-&gt;string): New procedure.
(build-event-output-port): Use it in lieu of 'utf8-&gt;string'.
* tests/status.scm ("build-output-port, UTF-8")
("current-build-output-port, UTF-8 + garbage"): New tests.


</td></tr>
<tr class='logheader'><td><span title='2018-09-27 23:21:53 +0200'>2018-09-27</span></td><td class='logsubject'><a href='/guix/commit/tests/status.scm?id=dc0f74e5fc26977a3ee6c4f2aa74a141f4359982'>Add (guix status) and use it for pretty colored output.</a></td><td>Ludovic Courtès</td></tr>
<tr class='nohover-highlight'><td/><td colspan='3' class='logmsg'>
* guix/progress.scm (progress-reporter/trace): New procedure.
(%progress-interval): New variable.
(progress-reporter/file): Use it.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
 #:print-extended-build-trace?.
(%default-options): Add 'print-extended-build-trace?'.
(guix-build): Parameterize CURRENT-TERMINAL-COLUMNS.  Use
'build-status-updater'.
* guix/scripts/environment.scm (%default-options): Add
'print-extended-build-trace?'.
(guix-environment): Wrap body in 'with-status-report'.
* guix/scripts/pack.scm (%default-options): Add 'print-build-trace?' and
'print-extended-build-trace?'.
(guix-pack): Wrap body in 'with-status-report'.
* guix/scripts/package.scm (%default-options, guix-package): Likewise.
* guix/scripts/system.scm (%default-options, guix-system): Likewise.
* guix/scripts/pull.scm (%default-options, guix-pull): Likewise.
* guix/scripts/substitute.scm (progress-report-port): Don't call STOP
when TOTAL is zero.
(process-substitution): Add #:print-build-trace? and honor it.
(guix-substitute)[print-build-trace?]: New variable.
Pass #:print-build-trace? to 'process-substitution'.
* guix/status.scm: New file.
* guix/store.scm (set-build-options): Add #:print-extended-build-trace?;
pass it into PAIRS.
(%protocol-version): Bump.
(protocol-version, nix-server-version): New procedures.
(current-store-protocol-version): New variable.
(with-store, build-things): Parameterize it.
* guix/ui.scm (build-output-port): Remove.
(colorize-string): Export.
* po/guix/POTFILES.in: Add guix/status.scm.
* tests/status.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
* nix/libstore/worker-protocol.hh (PROTOCOL_VERSION): Bump to 0x162.
* nix/libstore/build.cc (DerivationGoal::registerOutputs)
(SubstitutionGoal::finished): Print a "@ hash-mismatch" trace before
throwing.


</td></tr>