# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Look for a bug where FreeBSD make in concurrent mode reported success
-# even when the Automake-generated parallel testsuite harness failed.
+# Look for a bug where make in concurrent mode reported success even
+# when the Automake-generated parallel testsuite harness failed.
+# This issue was originally present only with FreeBSD make, but we
+# keep the test anyway, for extra safety.
# See automake bug#9245.
. ./defs || Exit 1
./configure
-# Some make implementations don't grok the '-j' option.
-$MAKE -j1 || Exit 77
-
for j in '' -j1 -j2; do
$MAKE $j check && Exit 1
- $MAKE $j TESTS=foo.test check && Exit 1
+ $MAKE $j TESTS=foo.test check && Exit 1
if test x"$am_parallel_tests" = x"yes"; then
$MAKE $j recheck && Exit 1
$MAKE $j TEST_LOGS=foo.log check && Exit 1
cd demo
$sleep
- # HP-UX make considers targets with exact time stamps as one of their
- # prerequisites out of date. Ensure Makefile is newer than config.status to
- # avoid triggering the am--refresh rule in the (here-nonexistent) toplevel
- # Makefile.
- touch Makefile
# version.good should depend on version.gin.
echo "Rebuilt (srcdir=$srcdir)" > ../$srcdir/demo/version.gin
$MAKE
rm -f zardoz.am
-$sleep # Required to avoid racy failures with FreeBSD make.
$MAKE >output 2>&1 && { cat output; Exit 1; }
cat output
# This error will come from automake, not make, so we can be stricter
./config.status Makefile
$MAKE # Sanity check.
rm -f foobar.am
-$sleep # Required to avoid racy failures with FreeBSD make.
$MAKE >output 2>&1 && { cat output; Exit 1; }
cat output
# This error will come from automake, not make, so we can be stricter
# Test to make sure known BSD 'make -jN' issues are fixed:
# without -B, it may reuse the same shell for separate commands in a
# rule, which can lead to interesting results.
+# Problems like this shouldn't happen with GNU make, but we keep the
+# test anyway for the moment, for extra safety.
. ./defs || Exit 1
cd build
../configure "--prefix=`pwd`/inst"
-$MAKE -j2 || skip_ "$MAKE failed to run with two parallel jobs"
$MAKE -j2 distcheck
$MAKE test-distdir-removed
# Check parallel-tests features:
# - empty TESTS
-# BSD make will expand '$(TESTS:=.log)' to '.log' unless overridden.
# See parallel-tests10.test for a similar issue.
am_parallel_tests=yes
#
# If this fails, this is likely to be due to a dependency being
# given two different name. For instance BSD Make does not know
-# that 'Makefile' is the same as './Makefile'
+# that 'Makefile' is the same as './Makefile'. This shouldn't
+# happen with GNU make, but we keep the test anyway, for extra
+# safety.
#
# Report from Akim Demaille.
touch b
$MAKE
test "`cat a`" = rule1
-# Ensure a is strictly newer than b, so HP-UX make does not execute rule2.
-$sleep
: > a
$sleep
touch c
# Unfortunately, the following is not portable to FreeBSD/NetBSD/OpenBSD
# make, see explanation above.
-#: > a
-#$sleep
-#touch b c
-#$MAKE
-#grep rule1 a
-#grep rule2 a
+: > a
+$sleep
+touch b c
+$MAKE
+grep rule1 a
+grep rule2 a
: