[svn-r18986] Test feature: (bugs 1919)

Problem:
some launching command like yod (and sometimes mpirun), do not pass
back the exit code of the executables back to the shell. It always returns 0
if it can launch the executable. This cause tests that expect non-zero exit
code to fail incorrectly.

Short term Solution:
Added the feature that if $RUNSERIAL_NOEXITCODE is defined, do not
test conditions that rely on non-zero exit code.

Tests:
dove-linux using RUNSERIAL=thgyod to see the failures and using
$RUNSERIAL_NOEXITCODE=yes to bypass the errors.
Also h5committested.
This commit is contained in:
Albert Cheng
2010-06-08 13:23:48 -05:00
parent f827580d23
commit e8886d2d6a
4 changed files with 37 additions and 5 deletions

View File

@@ -67,6 +67,7 @@ DIFF='diff -c'
nerrors=0
verbose=yes
h5haveexitcode=yes # default is yes
pmode= # default to run h5diff tests
mydomainname=`domainname 2>/dev/null`
@@ -103,6 +104,13 @@ while [ $# -gt 0 ]; do
esac
done
# RUNSERIAL is used. Check if it can return exit code from executalbe correctly.
if [ -n "$RUNSERIAL_NOEXITCODE" ]; then
echo "***Warning*** Serial Exit Code is not passed back to shell corretly."
echo "***Warning*** Exit code checking is skipped."
h5haveexitcode=no
fi
# Print a line-line message left justified in a field of 70 characters
# beginning with the word "Testing".
#
@@ -224,7 +232,7 @@ TOOLTEST() {
# is from mpirun not tool)
# if any problem occurs relate to an exit code, it will be caught in
# serial mode, so the test is fullfilled.
if test -z "$pmode"; then
if test $h5haveexitcode = 'yes' -a -z "$pmode"; then
echo "EXIT CODE: $EXIT_CODE" >> $actual
fi
@@ -234,7 +242,7 @@ TOOLTEST() {
cp $actual $expect
elif $CMP $expect $actual; then
echo " PASSED"
elif test -z "$pmode"; then
elif test $h5haveexitcode = 'yes' -a -z "$pmode"; then
echo "*FAILED*"
echo " Expected result ($expect) differs from actual result ($actual)"
nerrors="`expr $nerrors + 1`"