Blame tests/wrapper-utils.sh
|
Packit |
2d622a |
#!/bin/bash
|
|
Packit |
2d622a |
|
|
Packit |
2d622a |
# Standard return codes
|
|
Packit |
2d622a |
RC_PASS=0
|
|
Packit |
2d622a |
RC_CONFIG=1
|
|
Packit |
2d622a |
RC_FAIL=2
|
|
Packit |
2d622a |
RC_XFAIL=3
|
|
Packit |
2d622a |
RC_XPASS=4
|
|
Packit |
2d622a |
RC_BUG=99
|
|
Packit |
2d622a |
|
|
Packit |
2d622a |
function unexpected_pass()
|
|
Packit |
2d622a |
{
|
|
Packit |
2d622a |
echo -n "UNEXPECTED "
|
|
Packit |
2d622a |
}
|
|
Packit |
2d622a |
|
|
Packit |
2d622a |
function expected_fail()
|
|
Packit |
2d622a |
{
|
|
Packit |
2d622a |
echo -n "EXPECTED "
|
|
Packit |
2d622a |
}
|
|
Packit |
2d622a |
|
|
Packit |
2d622a |
# check_rc (<expected return code>, <actual return code>)
|
|
Packit |
2d622a |
# Returns: Adjusted return code
|
|
Packit |
2d622a |
#
|
|
Packit |
2d622a |
# Check the actual and expected return codes to identify
|
|
Packit |
2d622a |
# expected failures and unexpected passes.
|
|
Packit |
2d622a |
function check_rc()
|
|
Packit |
2d622a |
{
|
|
Packit |
2d622a |
EXP_RC=$1
|
|
Packit |
2d622a |
ACT_RC=$2
|
|
Packit |
2d622a |
|
|
Packit |
2d622a |
if [ $ACT_RC -eq $RC_PASS -a $EXP_RC -ne $RC_PASS ]; then
|
|
Packit |
2d622a |
unexpected_pass
|
|
Packit |
2d622a |
return $RC_XPASS
|
|
Packit |
2d622a |
elif [ $EXP_RC -ne $RC_PASS -a $EXP_RC -eq $ACT_RC ]; then
|
|
Packit |
2d622a |
expected_fail
|
|
Packit |
2d622a |
return $RC_XFAIL
|
|
Packit |
2d622a |
else
|
|
Packit |
2d622a |
return $ACT_RC
|
|
Packit |
2d622a |
fi
|
|
Packit |
2d622a |
}
|
|
Packit |
2d622a |
|
|
Packit |
2d622a |
# exec_and_check (<expected return code>, <command-line ...>)
|
|
Packit |
2d622a |
# Does not return
|
|
Packit |
2d622a |
# Execute a test command and check for expected failures and unexpected passes.
|
|
Packit |
2d622a |
function exec_and_check()
|
|
Packit |
2d622a |
{
|
|
Packit |
2d622a |
EXP_RC=$1
|
|
Packit |
2d622a |
shift
|
|
Packit |
2d622a |
|
|
Packit |
2d622a |
OUTPUT=`$@`
|
|
Packit |
2d622a |
check_rc $EXP_RC $?
|
|
Packit |
2d622a |
RC=$?
|
|
Packit |
2d622a |
echo $OUTPUT
|
|
Packit |
2d622a |
|
|
Packit |
2d622a |
exit $RC
|
|
Packit |
2d622a |
}
|