[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: test failures on AIX 5.3
From: |
Ralf Wildenhues |
Subject: |
Re: test failures on AIX 5.3 |
Date: |
Thu, 2 Jul 2009 08:03:45 +0200 |
User-agent: |
Mutt/1.5.20 (2009-06-15) |
* Eric Blake wrote on Wed, Jul 01, 2009 at 02:59:08PM CEST:
> According to Ralf Wildenhues on 6/30/2009 3:21 PM:
> > On AIX 5.3, the testsuite currently has 3 failures for me:
> >
> >> 111: autotest.at:266 Syntax error
> >> autotest
>
> Let's deal with this one first.
> I can reproduce this sort of shell difference with something even simpler
> (which also points out a zsh bug, at least for 4.3.9):
[...]
yes, my AIX experience is similar for bash and zsh (note that I removed
them from my PATH for the testsuite run, specifically to catch issues
with the native tools on this system). With AIX ksh, I get
$ ksh '. ./tmp; echo $?'
ksh: 0403-057 Syntax error at line 1 : `if' is not matched.
$ ksh '(. ./tmp); echo $?'
ksh: 0403-057 Syntax error at line 1 : `if' is not matched.
2
$ ksh93 '. ./tmp; echo $?'
. ./tmp; echo $?[1]: .: syntax error at line 1: `if' unmatched.
3
$
> Does adding the subshell fix things for AIX like it did for ash? If so,
> then we can modify lines 1364 and 1399 of lib/autotest/general.m4 to
> source "$at_test_source" from within a subshell, and that should clean up
> this testsuite failure (at the cost of one more fork per test, but when
> has that stopped us before?). I won't push this commit until I get some
> feedback from you.
The patch causes other issues, because the code currently assumes that
at least some information is transported from the test group code with
shell variables:
$ make check TESTSUITEFLAGS='-v -d -x 111'
| 111. autotest.at:266: testing ...
| + cat
| + 1> ./package.m4 0< /tmp/sh880784.2
| + cat
| + 1> ./micro-suite.at 0< /tmp/sh880784.3
| ../../autoconf/tests/autotest.at:266: autom4te --language=autotest -o
micro-suite micro-suite.at
| + autom4te --language=autotest -o micro-suite micro-suite.at
| ../../autoconf/tests/autotest.at:266: $CONFIG_SHELL ./micro-suite
| + ./micro-suite
| stderr:
| Is a directory
| ./micro-suite[49]:
/home/rwild/ac/build-powerpc-ibm-aix5.3.0.0/tests/testsuite.dir/111/micro-suite.dir/at-groups/1/:
cannot create
| stdout:
| ## --------------------------------------------------- ##
| ## GNU Nonsense 1.0 test suite: artificial test suite. ##
| ## --------------------------------------------------- ##
| 1: my only test
|
| ## ------------- ##
| ## Test results. ##
| ## ------------- ##
|
| 0 tests were successful.
| ../../autoconf/tests/autotest.at:266: exit code was 0, expected 1
| micro-suite.log:
| > ## --------------------------------------------------- ##
| > ## GNU Nonsense 1.0 test suite: artificial test suite. ##
| > ## --------------------------------------------------- ##
| >
| > micro-suite: command line was:
| > $ ./micro-suite
| >
| > ## --------- ##
| > ## Platform. ##
| > ## --------- ##
|
| > uname -r = 3
| > uname -s = AIX
| > uname -v = 5
| >
| > /usr/bin/uname -p = powerpc
| > /bin/uname -X = unknown
|
| > /usr/bin/oslevel = 5.3.0.0
| [...]
| > ## ---------------- ##
| > ## Tested programs. ##
| > ## ---------------- ##
| >
| > ## ------------------ ##
| > ## Running the tests. ##
| > ## ------------------ ##
| > micro-suite: starting at: Thu Jul 2 05:55:58 UTC 2009
| > micro-suite: ending at: Thu Jul 2 05:55:58 UTC 2009
| > micro-suite: test suite duration: 0h 0m 0s
| >
| > ## ------------- ##
| > ## Test results. ##
| > ## ------------- ##
| >
| > 0 tests were successful.
| 111. : Is a directory
| ./testsuite[49]:
/home/rwild/ac/build-powerpc-ibm-aix5.3.0.0/tests/testsuite.dir/at-groups/111/:
cannot create
|
|
| ## ------------- ##
| ## Test results. ##
| ## ------------- ##
|
| 0 tests were successful.
bash -x shows the error:
$ cd tests/testsuite.dir/111
$ bash -x ./micro-suite
[...]
+ at_fn_group_postprocess
+ cd
/home/rwild/ac/build-powerpc-ibm-aix5.3.0.0/tests/testsuite.dir/111/micro-suite.dir
+ test '!' -f
/home/rwild/ac/build-powerpc-ibm-aix5.3.0.0/tests/testsuite.dir/111/micro-suite.dir/at-groups/1/check-line
+ : printf %s '1. : '
+ printf %s '1. : '
+ case $at_xfail:$at_status in
+ echo ''
./micro-suite: line 1545:
/home/rwild/ac/build-powerpc-ibm-aix5.3.0.0/tests/testsuite.dir/111/micro-suite.dir/at-groups/1/:
Is a directory
+ test 1 -ne 1
+ printf '%s\n' ' '
+ at_log_msg='1. (): '
+ case $at_status in
+ printf '%s\n' '1. (): '
+ at_fn_create_debugging_script
Both $at_xfail and $at_status are empty at the 'case', causing $at_res
to not be set; and this happens because the result is not propagated
from the subshell.
Cheers,
Ralf