Skip all Autotest parallelism tests if using Guix’s bash.

It is not clear to me why, but the “parallel autotest and signal
handling” test malfunctions if the active shell is Guix bash.  I don’t
think it’s worth investigating in detail, considering I intend to
reimplement parallel autotest using the same technique that Automake’s
parallel test driver uses, i.e. make -j, which should eliminate this
entire class of problems.
This commit is contained in:
Zack Weinberg 2023-03-12 19:08:03 -04:00
parent e0681c50ac
commit d4566c84a1
No known key found for this signature in database
GPG Key ID: 384F8E68AC65B0D5

View File

@ -1445,9 +1445,17 @@ AT_SKIP_IF([${CONFIG_SHELL-$SHELL} -c 'test -z "${BASH_VERSION+set}]]dnl
AT_CHECK([mkfifo fifo || exit 77])
AT_CHECK([${CONFIG_SHELL-$SHELL} -c '(set -m && set +m) || exit 77'],
[], [], [ignore])
# Parallel tests malfunction with Guix's bash, as of this writing
# (bash 5.1.8(1)-release, guix 9584b1d 2023-03-12). I haven't been
# able to figure out why.
# It is *probably* safe to assume that if the shell is Bash and /gnu/store
# exists, then we also have realpath and $(...).
AT_SKIP_IF(
[${CONFIG_SHELL-$SHELL} -c 'test "${BASH_VERSION+set}" = set' &&
test -d /gnu/store &&
test "$(realpath "${CONFIG_SHELL-$SHELL}" | cut -c-10)" = /gnu/store])
])
## ----------------------- ##
## parallel test execution ##
## ----------------------- ##