summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-12-07 15:53:01 -0800
committerKarl Berry <karl@freefriends.org>2020-12-07 15:53:01 -0800
commit95da1185edb9bdf1d7bbc2cd2200ab29dabb3a33 (patch)
tree4d6407557773583801e3d4ed0ed8ff13083e07e8
parent46420770f96f77b0ca0be8a90919ba2378415481 (diff)
downloadautomake-95da1185edb9bdf1d7bbc2cd2200ab29dabb3a33.tar.gz
tests: more .NOTPARALLEL tests.
* contrib/t/multilib.sh: use .NOTPARALLEL to avoid unreproducible (and undebuggable, by me) test failures when running make -j$njobs AM_TESTSUITE_MAKE="make -j$njobs" for some arbitrary but rather large value of $njobs. The failures don't occur with just make -j; have to run the makes inside the tests in parallel also. * t/java-compile-install.sh: likewise. * t/java-compile-run-flat.sh: likewise. * t/java-uninstall.sh: likewise. * t/vala-headers.sh: likewise.
-rwxr-xr-xcontrib/t/multilib.sh5
-rw-r--r--t/java-compile-install.sh5
-rw-r--r--t/java-compile-run-flat.sh8
-rw-r--r--t/java-uninstall.sh5
-rw-r--r--t/vala-headers.sh6
5 files changed, 29 insertions, 0 deletions
diff --git a/contrib/t/multilib.sh b/contrib/t/multilib.sh
index 4b767d7f6..4b336a3b2 100755
--- a/contrib/t/multilib.sh
+++ b/contrib/t/multilib.sh
@@ -61,6 +61,11 @@ check-all:
test -f debug/libbar/libbar.a
test -f libfoo/libfoo.a
test -f libbar/libbar.a
+# Tell GNU make not to parallelize, since the tests can result in, for example:
+# make[5]: *** No rule to make target 'mostlyclean'. Stop.
+# make[5]: Leaving directory '/u/karl/gnu/src/akarl/contrib/t/multilib.dir/build/debug/libbar/sub'
+# No evident way to debug or reliably reproduce.
+.NOTPARALLEL:
EOF
# libfoo tests multilib supports when there are no subdirectories
diff --git a/t/java-compile-install.sh b/t/java-compile-install.sh
index 8cbfd58d7..89bb9cb42 100644
--- a/t/java-compile-install.sh
+++ b/t/java-compile-install.sh
@@ -78,6 +78,11 @@ installcheck-local: test-install
.PHONY: test test-install
DISTCLEANFILES = Baz.java Foo2.java
+
+# Tell GNU make not to parallelize, since the tests can result in, for example:
+# /usr/bin/install: cannot create regular file '/u/karl/gnu/src/akarl/t/java-compile-install.dir/_inst/share/java/Baz.class': File exists
+# No evident way to debug or reliably reproduce.
+.NOTPARALLEL:
END
echo 'class aClass {}' > Foo.java
diff --git a/t/java-compile-run-flat.sh b/t/java-compile-run-flat.sh
index a9a69cf0a..0efad4c25 100644
--- a/t/java-compile-run-flat.sh
+++ b/t/java-compile-run-flat.sh
@@ -175,6 +175,14 @@ TESTS = \
XFAIL_TESTS = badarg.test
EXTRA_DIST += $(TESTS)
+
+# Tell GNU make not to parallelize, since the tests can result in, for example:
+# /usr/bin/install: cannot change permissions of '/tmp/am-dc-13378//u/karl/gnu/src/akarl/t/java-compile-run-flat.dir/java-compile-run-flat-1.0/_inst/share/java-compile-run-flat/java/HelloStream.class': No such file or directory
+# /usr/bin/install: cannot create regular file '/tmp/am-dc-13378//u/karl/gnu/src/akarl/t/java-compile-run-flat.dir/java-compile-run-flat-1.0/_inst/share/java-compile-run-flat/java/PkgLocation.class': File exists
+# make[2]: *** [Makefile:393: install-dist_javaJAVA] Error 1
+# make[2]: Leaving directory '/u/karl/gnu/src/akarl/t/java-compile-run-flat.dir/java-compile-run-flat-1.0/_build/sub'
+# No evident way to debug or reliably reproduce.
+.NOTPARALLEL:
END
cat > simple.test <<'END'
diff --git a/t/java-uninstall.sh b/t/java-uninstall.sh
index 8c546209d..56a2440a3 100644
--- a/t/java-uninstall.sh
+++ b/t/java-uninstall.sh
@@ -47,6 +47,11 @@ Baz.java:
chmod a-w $@-t && mv -f $@-t $@
DISTCLEANFILES = Baz.java Foo2.java
+
+# Tell GNU make not to parallelize, since the tests can result in, for example:
+# /usr/bin/install: cannot create regular file '/u/karl/gnu/src/akarl/t/java-uninstall.dir/java-uninstall-1.0/_inst/java/Baz.class': File exists
+# No evident way to debug or reliably reproduce.
+.NOTPARALLEL:
END
echo 'class aClass {}' > Foo.java
diff --git a/t/vala-headers.sh b/t/vala-headers.sh
index 8ba0b072b..0f810c3ad 100644
--- a/t/vala-headers.sh
+++ b/t/vala-headers.sh
@@ -45,6 +45,12 @@ zardoz_VALAFLAGS = \
AM_CFLAGS = $(GOBJECT_CFLAGS)
LDADD = $(GOBJECT_LIBS)
+
+# Tell GNU make not to parallelize, since the tests can result in, for example:
+# mv: cannot stat 'quux_vala.stamp-t': No such file or directory
+# make[1]: *** [Makefile:438: quux_vala.stamp] Error 1
+# No evident way to debug or reliably reproduce.
+.NOTPARALLEL:
END
headers='HDR.h hello.vapi foo.h foo2.h foo3.vapi'