]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
tests: more .NOTPARALLEL tests.
authorKarl Berry <karl@freefriends.org>
Mon, 7 Dec 2020 23:53:01 +0000 (15:53 -0800)
committerKarl Berry <karl@freefriends.org>
Mon, 7 Dec 2020 23:53:01 +0000 (15:53 -0800)
* 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.

contrib/t/multilib.sh
t/java-compile-install.sh
t/java-compile-run-flat.sh
t/java-uninstall.sh
t/vala-headers.sh

index 4b767d7f62e3e16611956fa274116e69be36f368..4b336a3b2ef526f3ff37664c0abad93bdf7abd2e 100755 (executable)
@@ -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
index 8cbfd58d7cd101a8c07e14f48a311bbf8de91d88..89bb9cb4227dd7f893da0fc43ef33d21a575e47a 100644 (file)
@@ -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
index a9a69cf0a04e63c81d2645fdfd1d666ee64dac66..0efad4c2506b2fd4a56760879497806e3d6be2f7 100644 (file)
@@ -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'
index 8c546209df728bd1eb88462e67457d5c95313e3f..56a2440a3c2e5b1ef1e3bdabbd7d49ddb4db60b4 100644 (file)
@@ -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
index 8ba0b072b17b02bf718012f9da8125cdde613dcd..0f810c3adbbcd3172bc6adb18de1e9a78637e20a 100644 (file)
@@ -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'