[Top][All Lists]
[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
- Testsuite bugs,
Eric Blake <=