<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/tests/guix-pack-relocatable.sh, branch master</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>tests: Increase test timeout and honor ‘GUIX_TESTS_BUILD_TIMEOUT’.</title>
<updated>2025-10-17T10:23:54+00:00</updated>
<author>
<name>Martin Schitter</name>
<email>ms@mur.at</email>
</author>
<published>2025-10-04T17:38:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=590eb9ef40dd2b902f966dba285262d1a0d9df29'/>
<id>590eb9ef40dd2b902f966dba285262d1a0d9df29</id>
<content type='text'>
Rigid build time limits let some unit tests fail on slow hardware.

Set default timeout to 5 minutes and make it configurable via
`GUIX_TESTS_BUILD_TIMEOUT` environment variable.

* guix/tests.scm (%tests-build-timeout): New variable.
(open-connection-for-tests, call-with-external-store): Use it.
* tests/guix-environment-container.sh, tests/guix-home.sh,
tests/guix-pack-localstatedir.sh, tests/guix-pack-relocatable.sh: Use it to
define ‘GUIX_BUILD_OPTIONS’.

Change-Id: Iab63c2dcf4a3ad311a0cf2f39d7ea2ec158ddbb4
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rigid build time limits let some unit tests fail on slow hardware.

Set default timeout to 5 minutes and make it configurable via
`GUIX_TESTS_BUILD_TIMEOUT` environment variable.

* guix/tests.scm (%tests-build-timeout): New variable.
(open-connection-for-tests, call-with-external-store): Use it.
* tests/guix-environment-container.sh, tests/guix-home.sh,
tests/guix-pack-localstatedir.sh, tests/guix-pack-relocatable.sh: Use it to
define ‘GUIX_BUILD_OPTIONS’.

Change-Id: Iab63c2dcf4a3ad311a0cf2f39d7ea2ec158ddbb4
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Pass ‘--timeout’ for builds with the host store.</title>
<updated>2025-09-03T10:34:13+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2025-08-29T12:14:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=128f07cd011d37cd63b2650ffe798ff83f3d1803'/>
<id>128f07cd011d37cd63b2650ffe798ff83f3d1803</id>
<content type='text'>
This ensures ‘make check’ doesn’t accidentally start building the world.

* tests/guix-environment-container.sh (GUIX_BUILD_OPTIONS): New environment
variable.
* tests/guix-home.sh (GUIX_BUILD_OPTIONS): Likewise.
* tests/guix-pack-localstatedir.sh (GUIX_BUILD_OPTIONS): Likewise.
* tests/guix-pack-relocatable.sh (GUIX_BUILD_OPTIONS): Likewise.

Change-Id: If8afe9cfc5c0f1f72cd6f3d39dd5d4f6415d1e02
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This ensures ‘make check’ doesn’t accidentally start building the world.

* tests/guix-environment-container.sh (GUIX_BUILD_OPTIONS): New environment
variable.
* tests/guix-home.sh (GUIX_BUILD_OPTIONS): Likewise.
* tests/guix-pack-localstatedir.sh (GUIX_BUILD_OPTIONS): Likewise.
* tests/guix-pack-relocatable.sh (GUIX_BUILD_OPTIONS): Likewise.

Change-Id: If8afe9cfc5c0f1f72cd6f3d39dd5d4f6415d1e02
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Improve guix-pack-relocatable.sh.</title>
<updated>2025-06-26T14:56:54+00:00</updated>
<author>
<name>Romain GARBAGE</name>
<email>romain.garbage@inria.fr</email>
</author>
<published>2025-06-20T08:29:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=98efb6c77b4b91bfbc04b457c6ae53dcfe76e7dd'/>
<id>98efb6c77b4b91bfbc04b457c6ae53dcfe76e7dd</id>
<content type='text'>
This patch fixes a regression introduced by c9abfacd9f.
See https://issues.guix.gnu.org/76240#2.

* tests/guix-pack-relocatable.sh (tarball): Improve flaky test.

Change-Id: Ife1cbe6b6b9a22f2442e4ecb3a093c4b874bc4e1
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes a regression introduced by c9abfacd9f.
See https://issues.guix.gnu.org/76240#2.

* tests/guix-pack-relocatable.sh (tarball): Improve flaky test.

Change-Id: Ife1cbe6b6b9a22f2442e4ecb3a093c4b874bc4e1
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Fix checks for expected failures.</title>
<updated>2023-04-21T14:16:38+00:00</updated>
<author>
<name>Eric Bavier</name>
<email>bavier@posteo.net</email>
</author>
<published>2023-04-20T05:11:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=37dd69b44511dc73eb04bdebe8d82c9a0386338e'/>
<id>37dd69b44511dc73eb04bdebe8d82c9a0386338e</id>
<content type='text'>
Addresses &lt;https://issues.guix.gnu.org/62406&gt;.

With 'set -e', a return status inverted with '!' does not cause the shell to
exit immediately.  Instead use '&amp;&amp; false' to indicate an expected failure.

* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh,
tests/guix-daemon.sh, tests/guix-download.sh,
tests/guix-environment-container.sh, tests/guix-environment.sh,
tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh,
tests/guix-hash.sh, tests/guix-home.sh, tests/guix-pack-relocatable.sh,
tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh,
tests/guix-package.sh, tests/guix-refresh.sh, tests/guix-shell.sh,
tests/guix-style.sh, tests/guix-system.sh: Replace uses of '! ...' with
'... &amp;&amp; false' or `test ! ...` as appropriate.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Addresses &lt;https://issues.guix.gnu.org/62406&gt;.

With 'set -e', a return status inverted with '!' does not cause the shell to
exit immediately.  Instead use '&amp;&amp; false' to indicate an expected failure.

* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh,
tests/guix-daemon.sh, tests/guix-download.sh,
tests/guix-environment-container.sh, tests/guix-environment.sh,
tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh,
tests/guix-hash.sh, tests/guix-home.sh, tests/guix-pack-relocatable.sh,
tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh,
tests/guix-package.sh, tests/guix-refresh.sh, tests/guix-shell.sh,
tests/guix-style.sh, tests/guix-system.sh: Replace uses of '! ...' with
'... &amp;&amp; false' or `test ! ...` as appropriate.

Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>pack: Adjust shell tests to read-only tarball root.</title>
<updated>2023-02-27T22:40:43+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2023-02-27T22:20:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=92a0e60a963a54230e400c5c2ae585205489bf35'/>
<id>92a0e60a963a54230e400c5c2ae585205489bf35</id>
<content type='text'>
Fixes &lt;https://issues.guix.gnu.org/61853&gt;.

Fixes a regression introduced in
68380db4c40a2ee1156349a87254fd7b1f1a52d5, whereby the tarball's root
entry is now read-only, due to the creation of "profile-directory" in
the store.

* tests/guix-pack.sh: Remove and recreate $test_directory before
transformation option test.
* tests/guix-pack-relocatable.sh: Add "chmod +w $test_directory" lines
before attempts to write to it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://issues.guix.gnu.org/61853&gt;.

Fixes a regression introduced in
68380db4c40a2ee1156349a87254fd7b1f1a52d5, whereby the tarball's root
entry is now read-only, due to the creation of "profile-directory" in
the store.

* tests/guix-pack.sh: Remove and recreate $test_directory before
transformation option test.
* tests/guix-pack-relocatable.sh: Add "chmod +w $test_directory" lines
before attempts to write to it.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: pack-relocatable: Ensure commands can run in the current namespace.</title>
<updated>2020-12-04T13:12:08+00:00</updated>
<author>
<name>Paul Garlick</name>
<email>pgarlick@tourbillion-technology.com</email>
</author>
<published>2020-12-04T12:20:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=a67b82475dc14d0be7e14a5438ce70fa94de1907'/>
<id>a67b82475dc14d0be7e14a5438ce70fa94de1907</id>
<content type='text'>
* tests/guix-pack-relocatable (run_without_store): Use subshell to run
commands in the current namespace.  This avoids shell syntax and parsing
errors.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/guix-pack-relocatable (run_without_store): Use subshell to run
commands in the current namespace.  This avoids shell syntax and parsing
errors.
</pre>
</div>
</content>
</entry>
<entry>
<title>pack: Relocatable wrapper leaves root available to child processes.</title>
<updated>2020-10-31T22:16:43+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-10-31T22:02:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=bfe82fe2f6e9f34c0774fe2114cdc7e937ba8bd2'/>
<id>bfe82fe2f6e9f34c0774fe2114cdc7e937ba8bd2</id>
<content type='text'>
Fixes &lt;https://bugs.gnu.org/44261&gt;.
Reported by Jan Nieuwenhuizen &lt;janneke@gnu.org&gt;.

* gnu/packages/aux-files/run-in-namespace.c (exec_in_user_namespace):
Add call to 'prctl'.  Call 'mount' for NEW_ROOT and define 'is_tmpfs'.
When IS_TMPFS is true, call 'umount' and 'rmdir' after 'waitpid';
otherwise, call 'rm_rf' only when 'waitpid' returns -1 the second time.
(exec_with_loader): Call 'prctl'.  Remove NEW_ROOT only when 'waitpid'
returns -1 the second time, otherwise leave it behind.
* tests/guix-pack-relocatable.sh (wait_for_file): New function.
Add test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes &lt;https://bugs.gnu.org/44261&gt;.
Reported by Jan Nieuwenhuizen &lt;janneke@gnu.org&gt;.

* gnu/packages/aux-files/run-in-namespace.c (exec_in_user_namespace):
Add call to 'prctl'.  Call 'mount' for NEW_ROOT and define 'is_tmpfs'.
When IS_TMPFS is true, call 'umount' and 'rmdir' after 'waitpid';
otherwise, call 'rm_rf' only when 'waitpid' returns -1 the second time.
(exec_with_loader): Call 'prctl'.  Remove NEW_ROOT only when 'waitpid'
returns -1 the second time, otherwise leave it behind.
* tests/guix-pack-relocatable.sh (wait_for_file): New function.
Add test.
</pre>
</div>
</content>
</entry>
<entry>
<title>guix: pack: Only wrap executable files.</title>
<updated>2020-10-30T15:00:35+00:00</updated>
<author>
<name>Eric Bavier</name>
<email>bavier@member.fsf.org</email>
</author>
<published>2020-02-25T05:47:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=4184998c70f9c4af101feb28cc19c5550abffcec'/>
<id>4184998c70f9c4af101feb28cc19c5550abffcec</id>
<content type='text'>
* guix/scripts/pack.scm (wrapped-package)&lt;build&gt;: Build wrappers for
executable files and symlink others.
* tests/guix-pack-relocatable.sh: Test relocatable example of mixed
executable and non-executable files.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* guix/scripts/pack.scm (wrapped-package)&lt;build&gt;: Build wrappers for
executable files and symlink others.
* tests/guix-pack-relocatable.sh: Test relocatable example of mixed
executable and non-executable files.
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Simplify shell exit status negation;</title>
<updated>2020-09-29T02:06:36+00:00</updated>
<author>
<name>Eric Bavier</name>
<email>bavier@member.fsf.org</email>
</author>
<published>2020-09-25T16:00:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d8934360d2453a403b5433e71d09188e4ed23b57'/>
<id>d8934360d2453a403b5433e71d09188e4ed23b57</id>
<content type='text'>
* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh,
tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment.sh,
tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh,
tests/guix-hash.sh, tests/guix-lint.sh, tests/guix-pack-relocatable.sh,
tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh,
tests/guix-package.sh: Use the shell '!' keyword to negate command exit status
in place of 'if ...; then false; else true; fi'
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh,
tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment.sh,
tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh,
tests/guix-hash.sh, tests/guix-lint.sh, tests/guix-pack-relocatable.sh,
tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh,
tests/guix-package.sh: Use the shell '!' keyword to negate command exit status
in place of 'if ...; then false; else true; fi'
</pre>
</div>
</content>
</entry>
<entry>
<title>pack: "fakechroot" engine always creates its store.</title>
<updated>2020-07-28T12:41:05+00:00</updated>
<author>
<name>Ludovic Courtès</name>
<email>ludo@gnu.org</email>
</author>
<published>2020-07-28T10:28:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=c088aa2988ef82289c87ebfd6d07d8f1464dd8f0'/>
<id>c088aa2988ef82289c87ebfd6d07d8f1464dd8f0</id>
<content type='text'>
Previously it would silently fail to create the /gnu/store symlink when
the host has a read-only /gnu as is the case in these tests.

* gnu/packages/aux-files/run-in-namespace.c (exec_with_loader): Unlink
the ancestor of ORIGINAL_STORE under NEW_ROOT.  Check the return value
of 'symlink' when creating NEW_STORE.
* tests/guix-pack-relocatable.sh: Check the contents of the store as
seen by the wrapped executable, with all three engines, and with both
"/gnu" and "/gnu/store" erased.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously it would silently fail to create the /gnu/store symlink when
the host has a read-only /gnu as is the case in these tests.

* gnu/packages/aux-files/run-in-namespace.c (exec_with_loader): Unlink
the ancestor of ORIGINAL_STORE under NEW_ROOT.  Check the return value
of 'symlink' when creating NEW_STORE.
* tests/guix-pack-relocatable.sh: Check the contents of the store as
seen by the wrapped executable, with all three engines, and with both
"/gnu" and "/gnu/store" erased.
</pre>
</div>
</content>
</entry>
</feed>
