<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/build-aux, branch master</title>
<subtitle>GNU transactional package management, distribution, deployment, and more!
</subtitle>
<id>http://git.rostovtsev.org/guix/atom?h=master</id>
<link rel='self' href='http://git.rostovtsev.org/guix/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/'/>
<updated>2026-03-25T22:51:25Z</updated>
<entry>
<title>cuirass: Write jobs with ‘pretty-print’.</title>
<updated>2026-03-25T22:51:25Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2026-03-19T16:22:25Z</published>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/commit/?id=8476c5bd8e4ed06dc287a5292354e29c14b7adf8'/>
<id>urn:sha1:8476c5bd8e4ed06dc287a5292354e29c14b7adf8</id>
<content type='text'>
* build-aux/cuirass/evaluate.scm &lt;top level&gt;: Use ‘pretty-print’ to write the
jobs.

Change-Id: Idf751ddfd133717d390e2295a229e8308d906dc7
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #7222
</content>
</entry>
<entry>
<title>cuirass: Allow for substitutes.</title>
<updated>2026-03-25T22:51:25Z</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2026-03-19T16:18:50Z</published>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/commit/?id=331cfd62773162e4c4f4dc97cc7a6546f4218816'/>
<id>urn:sha1:331cfd62773162e4c4f4dc97cc7a6546f4218816</id>
<content type='text'>
These lines date back to 89cbec89a57c2e10042a19c298c8c000e6bce13b, which was
used for Hydra.  Nowadays ‘evaluate.scm’ is only used for debugging purposes
(Cuirass does not use it) so disabling substitutes makes no sense.

* build-aux/cuirass/evaluate.scm &lt;top level&gt;: Remove call to ‘set-build-options’.

Change-Id: I8dbf7098a8b9699509df6f74b9f1dac780db12c1
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
</entry>
<entry>
<title>build-aux: Revert to :global-test-result: in test-driver.scm.</title>
<updated>2026-03-21T02:32:15Z</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim@guixotic.coop</email>
</author>
<published>2026-03-21T02:29:56Z</published>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/commit/?id=15cd6eb94ce50a55116cec2071fc4f2ab3367b8c'/>
<id>urn:sha1:15cd6eb94ce50a55116cec2071fc4f2ab3367b8c</id>
<content type='text'>
This follows clarification with upstream on the valid name to use:
&lt;https://lists.gnu.org/archive/html/automake/2026-03/msg00005.html&gt;.  The
change was made in the recent commit ef4ba3191f01.

* build-aux/test-driver.scm (test-runner-gnu): Revert global test result key
to ':global-test-result:'.

Change-Id: If0eca05b8b57f1fd5d848e82bc789c43640d3caf
</content>
</entry>
<entry>
<title>build: test-driver.scm: Utilize test-runner-group-path.</title>
<updated>2026-03-20T08:38:15Z</updated>
<author>
<name>Tomas Volf</name>
<email>~@wolfsden.cz</email>
</author>
<published>2024-07-15T20:53:02Z</published>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/commit/?id=18ea608fcfec49a8a2f298714f745db9a9cbfc8b'/>
<id>urn:sha1:18ea608fcfec49a8a2f298714f745db9a9cbfc8b</id>
<content type='text'>
Test groups were not used in any meaningful way.  The group path was not
printed and it was not used in test selection mechanism.  I think groups are
useful, and it is nice to be able to, for example, run tests from a single
group.

This commit does two things.  First, it changes the test reporting to include
the value returned from test-runner-group-path, so you will know not only the
test name, but the test group(s) as well.  And second, it changes the test
selection (and exclusion) process to match against the "full" test name, so
group path + test name.

Hence

    (test-begin "failing tests")
    (test-equal "this should fail" 1 2)
    (test-end)

will, depending on the output location, produce following text.

.trs:

    :test-result: FAIL failing tests: this should fail [0.000s]
    :test-global-result: FAIL
    :recheck: yes
    :copy-in-global-log: yes

.log:

    test-name: failing tests: this should fail
    location: test.scm:140
    source:
    + (test-equal "this should fail" 1 2)
    expected-value: 1
    actual-value: 2
    result: FAIL

stdout:

    FAIL: test.scm - failing tests: this should fail [0.000s]

* build-aux/test-driver.scm (current-test-full-name): New procedure.
(test-runner-gnu): Use current-test-full-name instead of
test-runner-test-name.
(test-match-name*): Match against current-test-full-name.  Use compose.
(test-match-name*/negated): Rewrite in terms of test-match-name*.

Change-Id: I3fb9a2a721165204f020b79e019533f799b790e4
Signed-off-by: Maxim Cournoyer &lt;maxim@guixotic.coop&gt;
Modified-by: Maxim Cournoyer &lt;maxim@guixotic.coop&gt;
</content>
</entry>
<entry>
<title>build: test-driver.scm: Refine the global test result.</title>
<updated>2026-03-20T08:38:15Z</updated>
<author>
<name>Tomas Volf</name>
<email>~@wolfsden.cz</email>
</author>
<published>2024-07-14T20:45:16Z</published>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/commit/?id=ef4ba3191f013a92e400b24e3e02deb99da3a618'/>
<id>urn:sha1:ef4ba3191f013a92e400b24e3e02deb99da3a618</id>
<content type='text'>
The :test-global-result: .trs metadata contained just either FAIL, SKIP or
PASS with a comment that further refinements are required for XPASS.  The
description of :test-global-result: is in the manual is as follows:

     This is used to declare the "global result" of the script.
     Currently, the value of this field is needed only to be reported
     (more or less verbatim) in the generated global log file
     ‘$(TEST_SUITE_LOG)’, so it’s quite free-form.  For example, a test
     script which runs 10 test cases, 6 of which pass and 4 of which are
     skipped, could reasonably have a ‘PASS/SKIP’ value for this field,
     while a test script which runs 19 successful tests and one failed
     test could have an ‘ALMOST PASSED’ value.

As we can see, the examples as `PASS/SKIP' and `ALMOST PASSED', so there is no
need to stick to strict model.  Hence this commit changes the resulting value
to be comma-separated list of PASS, FAIL, XPASS, XFAIL and SKIP.  The
respective elements are present only when the count of tests with such a
result is positive.

In practice, that should usually produce lines such as

    :test-global-result: PASS,FAIL

or

    :test-global-result: PASS

* build-aux/test-driver.scm (test-runner-gnu)[finalize]: Refine the output of
:test-global-result:.

Change-Id: I7178ac9703e1749adf6de2445f7ed0591983cef2
Signed-off-by: Maxim Cournoyer &lt;maxim@guixotic.coop&gt;
</content>
</entry>
<entry>
<title>build: test-driver.scm: Output singleton metadata just once.</title>
<updated>2026-03-19T14:40:12Z</updated>
<author>
<name>Tomas Volf</name>
<email>~@wolfsden.cz</email>
</author>
<published>2024-07-14T11:00:14Z</published>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/commit/?id=b93c51c4d7a677ffc00c5bc4b4e11dbd436b6f65'/>
<id>urn:sha1:b93c51c4d7a677ffc00c5bc4b4e11dbd436b6f65</id>
<content type='text'>
Current implementation printed metadata supposed to be present just once per
.trs file on the end of each test group.  According to the automake's manual
that is undefined behavior.  This commit fixes it by printing that metadata
just once, after all tests did run.

Since there is no built-in hook that could be used for
that (test-runner-on-final runs on *each* outermost test-end), I introduced
new `finalize' procedure that need to be called by the user.  Possibly not the
most elegant solution, but since we are the only user, it works fine and
produces actually valid .trs file.

That also means there is no longer any use for test-runner-on-test-end!.

* build-aux/test-driver.scm (test-runner-gnu): Define new procedure `finalize'
and return it together with the runner.  Do not call
test-runner-on-group-end!.
(main): Call the `finalize' after all tests are done.

Signed-off-by: Maxim Cournoyer &lt;maxim@guixotic.coop&gt;
</content>
</entry>
<entry>
<title>build-aux: Add workaround for broken --select in test-driver.scm.</title>
<updated>2026-03-19T14:40:12Z</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim@guixotic.coop</email>
</author>
<published>2026-03-19T13:26:51Z</published>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/commit/?id=5fada9a751f114028d3e5c3a43b70d175c4c269a'/>
<id>urn:sha1:5fada9a751f114028d3e5c3a43b70d175c4c269a</id>
<content type='text'>
* build-aux/test-driver.scm (test-result-kind*): New procedure.
(test-runner-gnu): Use it.

Change-Id: I9cfd3289b05c77a7ab3c3f9e449b178fe31499fc
</content>
</entry>
<entry>
<title>build-aux: Fix typo in doc of test-driver.scm.</title>
<updated>2026-03-19T14:40:12Z</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim@guixotic.coop</email>
</author>
<published>2026-03-19T13:18:25Z</published>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/commit/?id=8fcc65cace6301f76e4c8b3663933161bd4d510f'/>
<id>urn:sha1:8fcc65cace6301f76e4c8b3663933161bd4d510f</id>
<content type='text'>
* build-aux/test-driver.scm (test-runner-gnu): Fix typo in doc.

Change-Id: I07c39ec79ce13b7c0fd5971ba90bb5106f92318e
</content>
</entry>
<entry>
<title>build-aux: Streamline test-driver.scm a bit.</title>
<updated>2026-03-19T14:40:12Z</updated>
<author>
<name>Maxim Cournoyer</name>
<email>maxim@guixotic.coop</email>
</author>
<published>2026-03-19T13:17:16Z</published>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/commit/?id=c274b5c2b2b42cb10053973b1091fb7e431e81eb'/>
<id>urn:sha1:c274b5c2b2b42cb10053973b1091fb7e431e81eb</id>
<content type='text'>
Guile 3.0.11 ships with a new SRFI 64.

* build-aux/test-driver.scm (%test-match-all): Delete procedure.
(main): Replace %test-match-all with test-match-all.

Change-Id: Ibcd7d98194694c1de679491be4f5a603a79f6e29
</content>
</entry>
<entry>
<title>build-aux: Disable file port name canonicalization in a few places.</title>
<updated>2026-03-11T15:31:06Z</updated>
<author>
<name>Christopher Baines</name>
<email>mail@cbaines.net</email>
</author>
<published>2026-03-02T12:45:00Z</published>
<link rel='alternate' type='text/html' href='http://git.rostovtsev.org/guix/commit/?id=991c410bcff9e03761cc164896e44f0d1db8480a'/>
<id>urn:sha1:991c410bcff9e03761cc164896e44f0d1db8480a</id>
<content type='text'>
I'm assuming this doesn't have any meaningful effect, and it seems to reduce
the number of readlink calls by a lot.

* build-aux/build-self.scm (build-program): Set
%file-port-name-canonicalization to #f.
(build): Ditto.
* build-aux/compile-as-derivation.scm: Ditto.

Change-Id: If43415c46c3911e84c76d1a9828b9c417a140a1b
</content>
</entry>
</feed>
