bug-autoconf
[Top][All Lists]
Advanced

[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




reply via email to

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