]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Skip all Autotest parallelism tests if using Guix’s bash.
authorZack Weinberg <zackw@panix.com>
Sun, 12 Mar 2023 23:08:03 +0000 (19:08 -0400)
committerZack Weinberg <zackw@panix.com>
Sun, 12 Mar 2023 23:08:03 +0000 (19:08 -0400)
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.

tests/autotest.at

index df9b738da39662e53b7f2bcc2c4366ea3dcd2acd..4367ff29eceb7ec9ce32bdf29404ccf3faacb93c 100644 (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 ##
 ## ----------------------- ##