automake-commit
[Top][All Lists]
Advanced

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

[Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.12.2-33-


From: Stefano Lattarini
Subject: [Automake-commit] [SCM] GNU Automake branch, maint, updated. v1.12.2-33-g15fa9fb
Date: Mon, 23 Jul 2012 10:25:53 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=15fa9fba94f55e8aa5508d23d23413d04a2ffe79

The branch, maint has been updated
       via  15fa9fba94f55e8aa5508d23d23413d04a2ffe79 (commit)
       via  7519d2634bdac6763ef2d57b3aff00f37c086a30 (commit)
       via  587e0c6b4f9c422b26faeecee8b35c3eb741ab8a (commit)
      from  2dcf8c29a21ae95eeceff080c4d538229d9de1b8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 15fa9fba94f55e8aa5508d23d23413d04a2ffe79
Merge: 587e0c6 7519d26
Author: Stefano Lattarini <address@hidden>
Date:   Mon Jul 23 10:51:48 2012 +0200

    Merge branch 'fix-pr11909' into maint
    
    * fix-pr11909:
      self tests: avoid spurious failures on older bash

commit 7519d2634bdac6763ef2d57b3aff00f37c086a30
Author: Stefano Lattarini <address@hidden>
Date:   Sat Jul 14 13:56:34 2012 +0200

    self tests: avoid spurious failures on older bash
    
    Fixes automake bug#11909.
    
    * t/self-check-explicit-skips.sh: Remove or rework few checks for use
    cases that are no more relevant nor supported now that we've got rid
    of the need to use the 'Exit' function explicitly.  Make the other
    existing checks stricter.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

commit 587e0c6b4f9c422b26faeecee8b35c3eb741ab8a
Author: Stefano Lattarini <address@hidden>
Date:   Mon Jul 23 10:37:17 2012 +0200

    tests: remove t/parallel-tests-many.sh (fixes spurious failure)
    
    That test was checking for automake#7868 "parallel-tests and command-line
    length limit issue".  That bug is still open, and the tests was xfailing.
    
    What concerns us is that the test was also causing an annoying problem.
    On Solaris 10, it produced a '.log' file with two overly-long lines (more
    than 1 million characters long!) and that was causing the test harness to
    experience spurious failures, with Solaris XPG4 awk complaining that:
    
     /usr/xpg4/bin/awk: line 0 (NR=734): Record too long (LIMIT: 19999 bytes)
    
    A little consideration shows that the bug#7868 checked by the culprit
    test cannot be solved "by accident", e.g., by another bug fix or some
    simple refactoring, so there is little added value in keeping the xfailing
    test for it, if this causes other problems (and we've seen it does).
    
    So we just remove the test.  In case we ever manage to fix the bug in
    mainline automake, we can copy over the similar test(s) from Automake-NG,
    which has actually managed to fix the bug (and have simpler test cases
    for it).
    
    * t/parallel-tests-many.sh: Delete.
    * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Remove it.
    
    Signed-off-by: Stefano Lattarini <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 t/list-of-tests.mk             |    2 -
 t/parallel-tests-many.sh       |  190 ----------------------------------------
 t/self-check-explicit-skips.sh |   11 +--
 3 files changed, 4 insertions(+), 199 deletions(-)
 delete mode 100755 t/parallel-tests-many.sh

diff --git a/t/list-of-tests.mk b/t/list-of-tests.mk
index a0209d4..549342d 100644
--- a/t/list-of-tests.mk
+++ b/t/list-of-tests.mk
@@ -37,7 +37,6 @@ t/dist-pr109765.sh \
 t/instdir-cond2.sh \
 t/java-nobase.sh \
 t/objext-pr10128.sh \
-t/parallel-tests-many.sh \
 t/pr8365-remake-timing.sh \
 t/lex-subobj-nodep.sh \
 t/remake-am-pr10111.sh \
@@ -789,7 +788,6 @@ t/parallel-tests-exit-statuses.sh \
 t/parallel-tests-console-output.sh \
 t/parallel-tests-once.sh \
 t/parallel-tests-trailing-bslash.sh \
-t/parallel-tests-many.sh \
 t/tests-environment.sh \
 t/am-tests-environment.sh \
 t/tests-environment-backcompat.sh \
diff --git a/t/parallel-tests-many.sh b/t/parallel-tests-many.sh
deleted file mode 100755
index 420a54a..0000000
--- a/t/parallel-tests-many.sh
+++ /dev/null
@@ -1,190 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2012 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
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# Check that the parallel-tests harness does not hit errors due to
-# an exceeded command line length when there are many tests.
-# For automake bug#7868.  This test is currently expected to fail.
-
-. ./defs || exit 1
-
-cat >> configure.ac << 'END'
-AC_OUTPUT
-END
-
-cat > Makefile.am <<'END'
-# Sanity check that the $(TESTS) is going to exceed the system
-# command line length.
-# Extra quoting and indirections below are required to ensure the
-# various make implementations (e.g, GNU make or Sun Distributed Make)
-# will truly spawn a shell to execute this command, instead of relying
-# on optimizations that might mask the "Argument list too long" error
-# we expect.
-this-will-fail:
-       @":" && ":" $(TEST_LOGS)
-TEST_LOG_COMPILER = true
-include list-of-tests.am
-# So that we won't have to create a ton of dummy test cases.
-$(TESTS):
-END
-
-# The real instance will be dynamically created later.
-echo TESTS = foo.test > list-of-tests.am
-
-$ACLOCAL && $AUTOCONF && $AUTOMAKE -a \
-  || framework_failure_ "unexpected autotools failure"
-./configure \
-  || framework_failure_ "unexpected configure failure"
-
-# We want to hit the system command-line length limit without hitting
-# the filename length limit or the PATHMAX limit; so we use longish
-# (but not too long) names for the testcase, and place them in a nested
-# (but not too deeply) directory.
-# We also prefer to use the minimal(ish) number of test cases that can
-# make us hit the command-line length limit, since the more the test
-# cases are, the more time "automake" and "make check" will take to run
-# (especially on Cygwin and MinGW/MSYS).
-
-tname="wow-this-is-a-very-long-name-for-a-simple-dummy-test-case"
-dname="and-this-too-is-a-very-long-name-for-a-dummy-directory"
-
-deepdir=.
-depth=0
-for i in 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 29 21 22 23 24; do
-  new_deepdir=$deepdir/$dname.d$i
-  mkdir $new_deepdir || break
-  tmpfile=$new_deepdir/$tname-some-more-chars-for-good-measure
-  if touch $tmpfile; then
-    rm -f $tmpfile || exit 99
-  else
-    rmdir $new_deepdir || exit 99
-  fi
-  deepdir=$new_deepdir
-  unset tmpfile new_deepdir
-  depth=$i
-done
-
-cat <<END
-*********************************************************************
-Our tests will be in the following directory (depth = $depth)
-*********************************************************************
-$deepdir
-*********************************************************************
-END
-
-setup_data ()
-{
-  # Use perl, not awk, to avoid errors like "awk: string too long"
-  # (seen e.g. with Solaris 10 /usr/bin/awk).
-  count=$count deepdir=$deepdir tname=$tname $PERL -e '
-    use warnings FATAL => "all";
-    use strict;
-    print "TESTS = \\\n";
-    my $i = 0;
-    while (++$i)
-      {
-        print "  $ENV{deepdir}/$ENV{tname}-$i.test";
-        if ($i >= $ENV{count})
-          {
-            print "\n";
-            last;
-          }
-        else
-          {
-            print " \\\n";
-          }
-      }
-  ' > list-of-tests.am || exit 99
-  sed 20q list-of-tests.am || exit 99 # For debugging.
-  $AUTOMAKE Makefile \
-    || framework_failure_ "unexpected automake failure"
-  ./config.status Makefile \
-    || framework_failure_ "unexpected config.status failure"
-}
-
-for count in 1 2 4 8 12 16 20 24 28 32 48 64 96 128 E_HUGE; do
-  test $count = E_HUGE && break
-  count=$(($count * 100))
-  setup_data
-  if $MAKE this-will-fail; then
-    continue
-  else
-    # We have managed to find a number of test cases large enough to
-    # hit the system command-line limits; we can stop.  But first, for
-    # good measure, increase the number of tests of some 20%, to be
-    # "even more sure" of really tickling command line length limits.
-    count=$(($count * 12))
-    count=$(($count / 10))
-    setup_data
-    break
-  fi
-done
-
-if test $count = E_HUGE; then
-  framework_failure_ "system has a too-high limit on command line length"
-else
-  cat <<END
-*********************************************************************
-               Number of tests we will use: $count
-*********************************************************************
-END
-fi
-
-env TESTS=$deepdir/$tname-1.test $MAKE -e check \
-  && test -f $deepdir/$tname-1.log \
-  || framework_failure_ "\"make check\" with one single tests"
-
-rm -f $deepdir/* || exit 99
-
-$MAKE check > stdout || { cat stdout; exit 1; }
-cat stdout
-
-grep "^# TOTAL: $count$" stdout
-grep "^# PASS:  $count$" stdout
-
-grep "^PASS: .*$tname-[0-9][0-9]*\.test" stdout > grp
-ls -1 $deepdir | grep '\.log$' > lst
-
-sed 20q lst # For debugging.
-sed 20q grp # Likewise.
-
-test $(cat <grp | wc -l) -eq $count
-test $(cat <lst | wc -l) -eq $count
-
-# We need to simulate a failure of two tests.
-st=0
-env TESTS="$deepdir/$tname-1.test $deepdir/$tname-2.test" \
-    TEST_LOG_COMPILER=false $MAKE -e check > stdout && st=1
-cat stdout
-test $(grep -c '^FAIL:' stdout) -eq 2 || st=1
-test $st -eq 0 || fatal_ "couldn't simulate failure of two tests"
-unset st
-
-$MAKE recheck > stdout || { cat stdout; exit 1; }
-cat stdout
-grep "^PASS: .*$tname-1\.test" stdout
-grep "^PASS: .*$tname-2\.test" stdout
-test $(LC_ALL=C grep -c "^[A-Z][A-Z]*:" stdout) -eq 2
-grep "^# TOTAL: 2$" stdout
-grep "^# PASS:  2$" stdout
-
-# "make clean" might ignore some failures, so we prefer to also grep its
-# output to ensure that no "Argument list too long" error was encountered.
-$MAKE clean >output 2>&1 || { cat output; exit 1; }
-cat output
-grep -i 'list.* too long' output && exit 1
-ls $deepdir | grep '\.log$' && exit 1
-
-:
diff --git a/t/self-check-explicit-skips.sh b/t/self-check-explicit-skips.sh
index eb60dc2..97f5288 100755
--- a/t/self-check-explicit-skips.sh
+++ b/t/self-check-explicit-skips.sh
@@ -36,22 +36,19 @@ run_dummy_test ()
   " dummy.sh
 }
 
-run_dummy_test '(exit 77); exit 77'
+run_dummy_test 'exit 77'
 test $? -eq 77 || exit 1
 
 run_dummy_test 'sh -c "exit 77"' am_explicit_skips=no
 test $? -eq 77 || exit 1
 
-run_dummy_test '(exit 77); exit 77' am_explicit_skips=yes 
+run_dummy_test '$PERL -e "exit 77"; true' am_explicit_skips=yes
 test $? -eq 78 || exit 1
 
-run_dummy_test 'sh -c "exit 77"' am_explicit_skips=y
+run_dummy_test 'sh -c "exit 77"; exit 0' am_explicit_skips=y
 test $? -eq 78 || exit 1
 
-run_dummy_test 'exit 77' am_explicit_skips=yes
-test $? -eq 77 || exit 1
-
-run_dummy_test 'skip_ "foo"' am_explicit_skips=y
+run_dummy_test 'skip_ "foo"; :' am_explicit_skips=y
 test $? -eq 77 || exit 1
 
 :


hooks/post-receive
-- 
GNU Automake



reply via email to

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