automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

testsuite: parallel make fixes.


From: Ralf Wildenhues
Subject: testsuite: parallel make fixes.
Date: Tue, 14 Apr 2009 23:40:58 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

I'm pushing this patch to next to fix some genuine bugs in the
testsuite.

Cheers,
Ralf

    testsuite: parallel make fixes.
    
    This patch fixes a couple of testsuite bugs exposed with
    `MAKE=make\ -jN make check'.
    * tests/libtoo10.test: Do not run `clean' in same $MAKE
    invocation as `all check'.  Fixes test failure with parallel
    NetBSD `make -jN'.
    * tests/nobase.test: Be sure to create a directory before
    creating files in it.  Fixes test failure with MAKE=`make -jN'
    for NetBSD make.  This issue is hidden with parallel GNU make
    due to its parallel breadth first update order.
    * tests/parallel-tests3.test: Skip if $MAKE contains `-j',
    GNU make will use the environment variable $MAKE for recursion
    and thus run in parallel even if `$MAKE -j1' was used on the
    command line in the test.  Also, after running the test proper,
    wait long enough so that background jobs have finished and there
    are no open files left when the cleanup code runs.

diff --git a/tests/libtoo10.test b/tests/libtoo10.test
index ad245b0..78a4628 100755
--- a/tests/libtoo10.test
+++ b/tests/libtoo10.test
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2007  Free Software Foundation, Inc.
+# Copyright (C) 2007, 2009  Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -51,7 +51,8 @@ $ACLOCAL
 $AUTOMAKE --add-missing
 $AUTOCONF
 ./configure
-$MAKE all check clean
+$MAKE all check
+$MAKE clean
 test ! -d src/.libs
 test ! -d src/_libs
 test ! -d check/.libs
diff --git a/tests/nobase.test b/tests/nobase.test
index 7ffc489..3dbc2b1 100755
--- a/tests/nobase.test
+++ b/tests/nobase.test
@@ -1,6 +1,6 @@
 #! /bin/sh
-# Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008  Free Software
-# Foundation, Inc.
+# Copyright (C) 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009  Free
+# Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -55,6 +55,7 @@ generated_files = sub/base-gen.h sub/nobase-gen.h 
sub/base-gen.dat \
 sub/nobase-gen.dat sub/base-gen.sh sub/nobase-gen.sh
 
 $(generated_files):
+       $(MKDIR_P) sub
        echo "generated file $@" > $@
 
 CLEANFILES = $(generated_files)
diff --git a/tests/parallel-tests3.test b/tests/parallel-tests3.test
index 362f369..776000e 100755
--- a/tests/parallel-tests3.test
+++ b/tests/parallel-tests3.test
@@ -20,6 +20,11 @@
 required=GNUmake
 . ./defs-p || Exit 1
 
+# This test does not work well if $MAKE contains -j.
+case $MAKE in
+*\ -j*) Exit 77 ;;
+esac
+
 set -e
 
 cat >> configure.in << 'END'
@@ -69,4 +74,11 @@ cd ..
 kill $!
 cat parallel/stdout
 test `grep -c PASS parallel/stdout` -eq 8
+
+# Wait long enough so that there are no open files any more
+# when the post-test cleanup runs.
+$sleep
+$sleep
+$sleep
+$sleep
 :




reply via email to

[Prev in Thread] Current Thread [Next in Thread]