automake-patches
[Top][All Lists]
Advanced

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

Testsuite bugs


From: Eric Blake
Subject: Testsuite bugs
Date: Fri, 21 May 2004 02:40:41 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7b) Gecko/20040316

I found several testsuite bugs in 1.8.5. The first one I was unsure how to fix: on solaris 2.8, tests/conflnk3.test was the lone test failure. You used "test -e configure.in || exit 77", but the /bin/sh of solaris has a broken builtin test that does not recognize -e (documented in autoconf's wonderful shell limitations section) and dies with a syntax error rather than exiting gracefully with 77 as you intended. I think a proper fix would be checking "test -e" in a subshell, to isolate the syntax error from the testsuite's shell. I don't have access to the solaris machine from home, where I am reporting this issue; but can test any proposals you have to resolve the bug.

The second issue is on cygwin, which had two failures shown below. The included patch is needed for a successful make check in both 1.8.5 and CVS head. I have not filed paperwork for automake, so hopefully my patch is short enough.

You may want to consider making AC_CONFIG_AUX_DIR([aux]) issue a warning (or error), because it is inherently non-portable: Windows reserves that filename, so making the subdirectory will fail (but I have not tried to provide a patch for this feature request). Because the macro name mentions aux, this is the macro most likely to lead a user into naming their subdirectory aux, which cripples porting that project to cygwin or mingw32.

**** Selections from i686-pc-cygwin make check on stock automake 1.8.5
=== Running test /home/eblake/automake-1.8.5/tests/txinfo22.test
+ pwd
/home/eblake/build/normal/automake-1.8.5/tests/testSubDir
+ set -e
+ cat
+ cat
+ cat
+ mkdir aux
mkdir: `aux' exists but is not a directory
FAIL: txinfo22.test
/home/eblake/build/normal/automake-1.8.5/tests:/usr/local/bin:/usr/bin:/bin:/usr
/X11R6/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/
System32/Wbem:/cygdrive/c/Progra~1/Common~1/Adapte~1/System:/usr/bin:.
yacc6: running gcc --version
gcc (GCC) 3.3.1 (cygming special)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

yacc6: running bison --version
bison (GNU Bison) 1.875b
Written by Robert Corbett and Richard Stallman.

Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
yacc6: running make --version -v | grep GNU
GNU Make 3.80
=== Running test /home/eblake/automake-1.8.5/tests/yacc6.test
+ pwd
/home/eblake/build/normal/automake-1.8.5/tests/testSubDir
+ set -e
+ cat
+ cat
+ mkdir aux sub
mkdir: `aux' exists but is not a directory
FAIL: yacc6.test
=====================================
2 of 2 tests failed
Please report to address@hidden
=====================================

**** Changelog
2004-05-21  Eric Blake  <address@hidden>

       * tests/txinfo22.test (AC_CONFIG_AUX_DIR): Use aux1, not aux, for
       cygwin compatibility.
       * tests/yacc6.test (AC_CONFIG_AUX_DIR): Likewise.


--
Someday, I might put a cute statement here.

Eric Blake             address@hidden
Index: tests/txinfo22.test
===================================================================
RCS file: /cvs/automake/automake/tests/txinfo22.test,v
retrieving revision 1.3
diff -u -p -r1.3 txinfo22.test
--- tests/txinfo22.test 17 Apr 2004 18:46:06 -0000      1.3
+++ tests/txinfo22.test 21 May 2004 08:13:02 -0000
@@ -30,7 +30,7 @@ set -e
 
 cat > configure.in << 'END'
 AC_INIT([txinfo22], [1.0])
-AC_CONFIG_AUX_DIR(aux)
+AC_CONFIG_AUX_DIR([aux1])
 AM_INIT_AUTOMAKE
 AC_CONFIG_FILES([Makefile])
 AC_OUTPUT
@@ -55,7 +55,7 @@ Hello walls.
 @bye
 END
 
-mkdir aux
+mkdir aux1
 mkdir tex
 cp $testsrcdir/../lib/texinfo.tex tex
 
@@ -64,7 +64,7 @@ $AUTOMAKE --add-missing
 $AUTOCONF
 
 test ! -f texinfo.tex
-test ! -f aux/texinfo.tex
+test ! -f aux1/texinfo.tex
 test -f tex/texinfo.tex
 
 ./configure
Index: tests/yacc6.test
===================================================================
RCS file: /cvs/automake/automake/tests/yacc6.test,v
retrieving revision 1.8
diff -u -p -r1.8 yacc6.test
--- tests/yacc6.test    13 May 2004 18:46:59 -0000      1.8
+++ tests/yacc6.test    21 May 2004 08:13:02 -0000
@@ -30,7 +30,7 @@ set -e
 
 cat > configure.in << 'END'
 AC_INIT([yacc6], [1.0])
-AC_CONFIG_AUX_DIR([aux])
+AC_CONFIG_AUX_DIR([aux1])
 AM_INIT_AUTOMAKE
 AC_CONFIG_FILES([Makefile])
 AC_PROG_CC
@@ -48,7 +48,7 @@ test-time-changed:
        test `ls -1t sub/main.$(OBJEXT) z | sed 1q` = sub/main.$(OBJEXT)
 END
 
-mkdir aux sub
+mkdir aux1 sub
 
 cat > sub/Makefile.am << 'END'
 bin_PROGRAMS = foo bar
@@ -87,10 +87,10 @@ EOF
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
-test -f aux/ylwrap
+test -f aux1/ylwrap
 test ! -f ylwrap
 test ! -f sub/ylwrap
-$FGREP '(top_srcdir)/aux/ylwrap' sub/Makefile.in
+$FGREP '(top_srcdir)/aux1/ylwrap' sub/Makefile.in
 ./configure
 $MAKE
 grep '#.*line.*foo.y' sub/foo.c

reply via email to

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