Subject: bug#70932: FAIL tests/guix-shell.sh

From: Christopher Baines <[email-masked]>
Date: Tue, 14 May 2024 12:14:06 +0100

When attempting to update the guix package, I got this failure. The test
log makes no sense though, as it's trying to test for errors, so I have
no idea where to start in working out what is wrong.

I thought maybe the issue was here:

  guix shell: error: package [email-masked] does not support armhf-linux

But apparently that's expected? There's nothing in the log to indicate
that it's going to try something that should fail though.

FAIL: tests/guix-shell
======================

+ guix shell --version
guix shell (GNU Guix) 1.4.0-20.37719d3
Copyright (C) 2024 the Guix authors
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ configdir=t-guix-shell-config-19847
+ tmpdir=t-guix-shell-19847
+ trap 'rm -r "$tmpdir" "$configdir"' EXIT
+ mkdir t-guix-shell-19847 t-guix-shell-config-19847 t-guix-shell-config-19847/guix
++ realpath t-guix-shell-config-19847
+ XDG_CONFIG_HOME=/tmp/guix-build-guix-1.4.0-20.37719d3.drv-0/source/t-guix-shell-config-19847
+ export XDG_CONFIG_HOME
+ guix shell --bootstrap --pure guile-bootstrap -- guile --version
accepted connection from pid 19864, user nixbld
guile (GNU Guile) 2.0.9
Copyright (C) 2013 Free Software Foundation, Inc.

License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ guix shell --bootstrap guile-bootstrap -S /dummy=bin/guile
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

guix shell: error: '--symlink' cannot be used without '--container'
+ guix shell --ad-hoc guile-bootstrap
guix shell: error: ad-hoc: unrecognized option
+ guix shell -s armhf-linux intelmetool -n
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

accepted connection from pid 19896, user nixbld
guix shell: error: package [email-masked] does not support armhf-linux
++ echo /proc/19847/fd/0 /proc/19847/fd/1 /proc/19847/fd/2 /proc/19847/fd/255 /proc/19847/fd/3
+ initial_fd_list='/proc/19847/fd/0 /proc/19847/fd/1 /proc/19847/fd/2 /proc/19847/fd/255 /proc/19847/fd/3'
++ guix shell --bootstrap guile-bootstrap -- bash -c 'echo /proc/$$/fd/*'
+ fd_list='/proc/19918/fd/0 /proc/19918/fd/1 /proc/19918/fd/2 /proc/19918/fd/3'
++ echo /proc/19918/fd/0 /proc/19918/fd/1 /proc/19918/fd/2 /proc/19918/fd/3
++ wc -w
++ echo /proc/19847/fd/0 /proc/19847/fd/1 /proc/19847/fd/2 /proc/19847/fd/255 /proc/19847/fd/3
++ wc -w
+ test 4 -le 5
+ cat
+ cd t-guix-shell-19847
++ type -P true
+ SHELL=/gnu/store/a5i8avx826brw5grn3n4qv40g514505c-coreutils-9.1/bin/true
+ guix shell --bootstrap
+ grep 'not authorized' t-guix-shell-19847/stderr
guix shell: error: not loading '/tmp/guix-build-guix-1.4.0-20.37719d3.drv-0/source/t-guix-shell-19847/guix.scm' because not authorized to do so
+ rm t-guix-shell-19847/stderr
++ realpath t-guix-shell-19847
+ echo /tmp/guix-build-guix-1.4.0-20.37719d3.drv-0/source/t-guix-shell-19847
+ cd t-guix-shell-19847
+ guix shell --bootstrap -- true
accepted connection from pid 19942, user nixbld
guix shell: warning: no packages specified; creating an empty environment
+ mv t-guix-shell-19847/guix.scm t-guix-shell-19847/manifest.scm
+ cd t-guix-shell-19847
+ guix shell --bootstrap -- true
guix shell: warning: no packages specified; creating an empty environment
+ rm t-guix-shell-19847/manifest.scm
+ cat
+ cat
+ chmod +x t-guix-shell-19847/fake-shell.sh
++ cd t-guix-shell-19847
+++ realpath fake-shell.sh
++ SHELL=/tmp/guix-build-guix-1.4.0-20.37719d3.drv-0/source/t-guix-shell-19847/fake-shell.sh
++ guix shell --bootstrap
guix shell: loading environment from '/tmp/guix-build-guix-1.4.0-20.37719d3.drv-0/source/t-guix-shell-19847/manifest.scm'...
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

accepted connection from pid 19971, user nixbld
+ profile1=/tmp/guix-tests/store/vqrwmdf81v9wb4gb70g6v8b4xnm8l5ih-profile
++ guix shell --bootstrap guile-bootstrap -- /gnu/store/rib9g2ig1xf3kclyl076w28parmncg4k-bash-minimal-5.1.16/bin/sh -c 'echo $GUIX_ENVIRONMENT'
+ profile2=/tmp/guix-tests/store/vqrwmdf81v9wb4gb70g6v8b4xnm8l5ih-profile
+ test -n /tmp/guix-tests/store/vqrwmdf81v9wb4gb70g6v8b4xnm8l5ih-profile
+ test /tmp/guix-tests/store/vqrwmdf81v9wb4gb70g6v8b4xnm8l5ih-profile = /tmp/guix-tests/store/vqrwmdf81v9wb4gb70g6v8b4xnm8l5ih-profile
+ rm t-guix-shell-19847/manifest.scm
+ echo 'Broken manifest.'
+ cd t-guix-shell-19847
++ realpath fake-shell.sh
+ SHELL=/tmp/guix-build-guix-1.4.0-20.37719d3.drv-0/source/t-guix-shell-19847/fake-shell.sh
+ guix shell --bootstrap -q
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

guix shell: warning: no packages specified; creating an empty environment
/tmp/guix-tests/store/j5bh45fk0nc7zxs74lv3ninf23plpsvm-profile
+ rm t-guix-shell-19847/manifest.scm
+ cat
+ guix shell --bootstrap --pure -D -f t-guix-shell-19847/empty-package.scm guile-bootstrap -- guile --version
accepted connection from pid 20011, user nixbld
guile (GNU Guile) 2.0.9
Copyright (C) 2013 Free Software Foundation, Inc.

License LGPLv3+: GNU LGPL 3 or later <http://gnu.org/licenses/lgpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
+ rm t-guix-shell-19847/empty-package.scm
++ guile -c '(use-modules (guix utils))
  (display (%current-system))'
+ this_system=x86_64-linux
++ guile -c '(use-modules (guix utils))
  (display (if (string=? "riscv64-linux" (%current-system))
	       "x86_64-linux"
	       "riscv64-linux"))'
+ other_system=riscv64-linux
+ cat
+ guix shell -D -f t-guix-shell-19847/some-package.scm -n
hint: Consider passing the `--check' option once to make sure your shell does not
clobber environment variables.

+ false
+ rm -r t-guix-shell-19847 t-guix-shell-config-19847
FAIL tests/guix-shell.sh (exit status: 1)