[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Testsuite bugs
From: |
Eric Blake |
Subject: |
Re: Testsuite bugs |
Date: |
Fri, 21 May 2004 14:29:33 +0000 (UTC) |
User-agent: |
Loom/3.14 (http://gmane.org/) |
Eric Blake <ebb9 <at> byu.net> writes:
>
> 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.
Followup: the following patch works on solaris to skip the conflnk3.test rather
than failing (because as the comment noted, the rest of the test depends on
test -e which solaris's sh doesn't have). As shown by this trace, /bin/sh
stops processing the entire compound command as soon as the builtin encounters
an error.
$ /bin/sh
$ config.guess
sparc-sun-solaris2.8
$ touch foo
$ test -e foo || echo nonexistant
test: argument expected
$ test -e foo && echo exists
test: argument expected
2004-05-21 Eric Blake <address@hidden>
* tests/conflnk3.test: Isolate checking for working `test -e' into
a subshell, to skip this test on broken /bin/sh of solaris.
--- /home/advtech3/eblake/.backup/!home!advtech3!eblake!automake-1.8.5!tests!
conflnk3.test~ 2004-01-13 14:36:39.000000000 -0700
+++ conflnk3.test 2004-05-21 07:49:06.838000000 -0600
@@ -28,7 +28,7 @@
# Skip platforms where `test -e' does not work. (Note that Changing
# all `test -e' into `test -h' will not work when AC_CONFIG_LINKS
# copies or hardlinks files.)
-test -e configure.in || exit 77
+(test -e configure.in) >/dev/null 2>&1 || exit 77
cat > Makefile.am << 'END'
SUBDIRS = sdir