Subject: ‘guix pack’ shell tests fail

From: Ludovic Courtès <[email-masked]>
Date: Mon, 27 Feb 2023 22:46:37 +0100

The two tests/guix-pack*.sh tests fail:

--8<---------------cut here---------------start------------->8---
$ make check TESTS="tests/guix-pack.sh tests/guix-pack-relocatable.sh" -j5
make  check-recursive
make[1]: Entering directory '/home/ludo/src/guix'
Making check in po/guix
make[2]: Entering directory '/home/ludo/src/guix/po/guix'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/ludo/src/guix/po/guix'
Making check in po/packages
make[2]: Entering directory '/home/ludo/src/guix/po/packages'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/ludo/src/guix/po/packages'
make[2]: Entering directory '/home/ludo/src/guix'
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
make  check-TESTS check-local
make[3]: Entering directory '/home/ludo/src/guix'
make[3]: Nothing to be done for 'check-local'.
make[4]: Entering directory '/home/ludo/src/guix'
FAIL: tests/guix-pack-relocatable.sh
FAIL: tests/guix-pack.sh
============================================================================
Testsuite summary for GNU Guix 1.3.0.28826-3cff7-dirty
============================================================================
# TOTAL: 2
# PASS:  0
# SKIP:  0
# XFAIL: 0
# FAIL:  2
# XPASS: 0
# ERROR: 0
============================================================================
See ./test-suite.log
Please report to [email-masked]
============================================================================
make[4]: *** [Makefile:6051: test-suite.log] Error 1
make[4]: Leaving directory '/home/ludo/src/guix'
make[3]: *** [Makefile:6159: check-TESTS] Error 2
make[3]: Leaving directory '/home/ludo/src/guix'
make[2]: *** [Makefile:6408: check-am] Error 2
make[2]: Leaving directory '/home/ludo/src/guix'
make[1]: *** [Makefile:5936: check-recursive] Error 1
make[1]: Leaving directory '/home/ludo/src/guix'
make: *** [Makefile:6410: check] Error 2
$ git log |head -1
commit cf9e0508b26196dc985302776d860a0359652c59
--8<---------------cut here---------------end--------------->8---

In both cases this is because $test_directory is read-only:

--8<---------------cut here---------------start------------->8---
+ drv1='  /home/ludo/src/guix/test-tmp/store/6wrnnnab33wv950cflswi8ffncwr99b0-guile-tarball-pack.tar.gz.drv'
++ guix pack --no-grafts -n --with-source=guile=/tmp/tmp.olhfx3CkHh guile
++ grep 'pack.*.drv'
accepted connection from pid 30805, user ludo
+ drv2='  /home/ludo/src/guix/test-tmp/store/f909hi2ywyyvy7l5p4ibmy26alr7d18d-guile-tarball-pack.tar.gz.drv'
+ test -n '  /home/ludo/src/guix/test-tmp/store/6wrnnnab33wv950cflswi8ffncwr99b0-guile-tarball-pack.tar.gz.drv'
+ test '  /home/ludo/src/guix/test-tmp/store/6wrnnnab33wv950cflswi8ffncwr99b0-guile-tarball-pack.tar.gz.drv' '!=' '  /home/ludo/src/guix/test-tmp/store/f909hi2ywyyvy7l5p4ibmy26alr7d18d-guile-tarball-pack.tar.gz.drv'
+ cat
./tests/guix-pack.sh: line 124: /tmp/tmp.olhfx3CkHh/manifest1.scm: Permission denied
+ chmod -Rf +w /tmp/tmp.olhfx3CkHh
+ rm -rf /tmp/tmp.olhfx3CkHh
FAIL tests/guix-pack.sh (exit status: 1)
--8<---------------cut here---------------end--------------->8---

… and:

--8<---------------cut here---------------start------------->8---
+ run_without_store /tmp/tmp.c5oSwOgOOD/Bin/sed --version
./tests/guix-pack-relocatable.sh: line 85: /tmp/tmp.c5oSwOgOOD/output: Permission denied
+ chmod -Rf +w /tmp/tmp.c5oSwOgOOD
+ rm -rf /tmp/tmp.c5oSwOgOOD
FAIL tests/guix-pack-relocatable.sh (exit status: 1)
--8<---------------cut here---------------end--------------->8---

Ludo’.