summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2023-03-12 19:08:03 -0400
committerZack Weinberg <zackw@panix.com>2023-03-12 19:08:03 -0400
commitd4566c84a172f3f9638f7928491fe1be14dca4f7 (patch)
tree08468ba5712dd52c546cfb64605183db007bbc40
parente0681c50ac3cd2a3cad2395e2691868a3dea1b12 (diff)
downloadautoconf-d4566c84a172f3f9638f7928491fe1be14dca4f7.tar.gz
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.
-rw-r--r--tests/autotest.at10
1 files changed, 9 insertions, 1 deletions
diff --git a/tests/autotest.at b/tests/autotest.at
index df9b738d..4367ff29 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
@@ -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 ##
## ----------------------- ##