mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
pack: Adjust shell tests to read-only tarball root.
Fixes <https://issues.guix.gnu.org/61853>.
Fixes a regression introduced in
68380db4c4
, 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.
This commit is contained in:
parent
a31225badb
commit
92a0e60a96
2 changed files with 8 additions and 3 deletions
|
@ -1,5 +1,5 @@
|
||||||
# GNU Guix --- Functional package management for GNU
|
# GNU Guix --- Functional package management for GNU
|
||||||
# Copyright © 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
# Copyright © 2018, 2019, 2020, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||||
# Copyright © 2020 Eric Bavier <bavier@posteo.net>
|
# Copyright © 2020 Eric Bavier <bavier@posteo.net>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Guix.
|
# This file is part of GNU Guix.
|
||||||
|
@ -82,6 +82,7 @@ then
|
||||||
tarball="`guix pack -R -S /Bin=bin sed`"
|
tarball="`guix pack -R -S /Bin=bin sed`"
|
||||||
(cd "$test_directory"; tar xvf "$tarball")
|
(cd "$test_directory"; tar xvf "$tarball")
|
||||||
|
|
||||||
|
chmod +w "$test_directory"
|
||||||
run_without_store "$test_directory/Bin/sed" --version > "$test_directory/output"
|
run_without_store "$test_directory/Bin/sed" --version > "$test_directory/output"
|
||||||
grep 'GNU sed' "$test_directory/output"
|
grep 'GNU sed' "$test_directory/output"
|
||||||
|
|
||||||
|
@ -104,6 +105,7 @@ case "`uname -m`" in
|
||||||
tarball="`guix pack -RR -S /Bin=bin sed`"
|
tarball="`guix pack -RR -S /Bin=bin sed`"
|
||||||
tar tvf "$tarball" | grep /bin/proot
|
tar tvf "$tarball" | grep /bin/proot
|
||||||
(cd "$test_directory"; tar xf "$tarball")
|
(cd "$test_directory"; tar xf "$tarball")
|
||||||
|
chmod +w "$test_directory"
|
||||||
run_without_store GUIX_EXECUTION_ENGINE="proot" \
|
run_without_store GUIX_EXECUTION_ENGINE="proot" \
|
||||||
"$test_directory/Bin/sed" --version > "$test_directory/output"
|
"$test_directory/Bin/sed" --version > "$test_directory/output"
|
||||||
grep 'GNU sed' "$test_directory/output"
|
grep 'GNU sed' "$test_directory/output"
|
||||||
|
@ -195,6 +197,7 @@ EOF
|
||||||
# Run '/bin/daemon', which forks, then wait for the child, send it SIGHUP
|
# Run '/bin/daemon', which forks, then wait for the child, send it SIGHUP
|
||||||
# so that it dumps its view of the store, and make sure the child and
|
# so that it dumps its view of the store, and make sure the child and
|
||||||
# parent both see the same store contents.
|
# parent both see the same store contents.
|
||||||
|
chmod +w "$test_directory"
|
||||||
(cd "$test_directory"; run_without_store ./bin/daemon)
|
(cd "$test_directory"; run_without_store ./bin/daemon)
|
||||||
wait_for_file "$test_directory/pid"
|
wait_for_file "$test_directory/pid"
|
||||||
kill -HUP $(cat "$test_directory/pid")
|
kill -HUP $(cat "$test_directory/pid")
|
||||||
|
@ -241,6 +244,7 @@ cat >"$test_directory/manifest.scm" <<'EOF'
|
||||||
EOF
|
EOF
|
||||||
tarball="`guix pack -RR -S /opt= -m $test_directory/manifest.scm`"
|
tarball="`guix pack -RR -S /opt= -m $test_directory/manifest.scm`"
|
||||||
(cd "$test_directory"; tar xvf "$tarball")
|
(cd "$test_directory"; tar xvf "$tarball")
|
||||||
|
chmod +w "$test_directory"
|
||||||
( export GUIX_PROFILE=$test_directory/opt
|
( export GUIX_PROFILE=$test_directory/opt
|
||||||
. $GUIX_PROFILE/etc/profile
|
. $GUIX_PROFILE/etc/profile
|
||||||
run_without_store "$test_directory/opt/bin/hello" > "$test_directory/output" )
|
run_without_store "$test_directory/opt/bin/hello" > "$test_directory/output" )
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# GNU Guix --- Functional package management for GNU
|
# GNU Guix --- Functional package management for GNU
|
||||||
# Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
|
# Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
|
||||||
# Copyright © 2018, 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
|
# Copyright © 2018, 2019, 2020, 2022, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Guix.
|
# This file is part of GNU Guix.
|
||||||
#
|
#
|
||||||
|
@ -114,7 +114,8 @@ guix pack --dry-run --bootstrap --target=arm-linux-gnueabihf coreutils
|
||||||
guix pack -R --dry-run --bootstrap -S /mybin=bin guile-bootstrap
|
guix pack -R --dry-run --bootstrap -S /mybin=bin guile-bootstrap
|
||||||
|
|
||||||
# Make sure package transformation options are honored.
|
# Make sure package transformation options are honored.
|
||||||
mkdir -p "$test_directory"
|
chmod -Rf +w "$test_directory"; rm -r "$test_directory"
|
||||||
|
mkdir -p "$test_directory" -m 755
|
||||||
drv1="`guix pack --no-grafts -n guile 2>&1 | grep pack.*\.drv`"
|
drv1="`guix pack --no-grafts -n guile 2>&1 | grep pack.*\.drv`"
|
||||||
drv2="`guix pack --no-grafts -n --with-source=guile=$test_directory guile 2>&1 | grep pack.*\.drv`"
|
drv2="`guix pack --no-grafts -n --with-source=guile=$test_directory guile 2>&1 | grep pack.*\.drv`"
|
||||||
test -n "$drv1"
|
test -n "$drv1"
|
||||||
|
|
Loading…
Reference in a new issue