149 lines
3.0 KiB
Bash
149 lines
3.0 KiB
Bash
if test -z "$MANUAL"
|
|
then
|
|
export COLOR_NC=
|
|
export COLOR_WHITE=
|
|
export COLOR_BLACK=
|
|
export COLOR_BLUE=
|
|
export COLOR_LIGHT_BLUE=
|
|
export COLOR_GREEN=
|
|
export COLOR_LIGHT_GREEN=
|
|
export COLOR_CYAN=
|
|
export COLOR_LIGHT_CYAN=
|
|
export COLOR_RED=
|
|
export COLOR_LIGHT_RED=
|
|
export COLOR_PURPLE=
|
|
export COLOR_LIGHT_PURPLE=
|
|
export COLOR_BROWN=
|
|
export COLOR_YELLOW=
|
|
export COLOR_GRAY=
|
|
export COLOR_LIGHT_GRAY=
|
|
else
|
|
export COLOR_NC='\e[0m'
|
|
export COLOR_WHITE='\e[1;37m'
|
|
export COLOR_BLACK='\e[0;30m'
|
|
export COLOR_BLUE='\e[0;34m'
|
|
export COLOR_LIGHT_BLUE='\e[1;34m'
|
|
export COLOR_GREEN='\e[0;32m'
|
|
export COLOR_LIGHT_GREEN='\e[1;32m'
|
|
export COLOR_CYAN='\e[0;36m'
|
|
export COLOR_LIGHT_CYAN='\e[1;36m'
|
|
export COLOR_RED='\e[0;31m'
|
|
export COLOR_LIGHT_RED='\e[1;31m'
|
|
export COLOR_PURPLE='\e[0;35m'
|
|
export COLOR_LIGHT_PURPLE='\e[1;35m'
|
|
export COLOR_BROWN='\e[0;33m'
|
|
export COLOR_YELLOW='\e[1;33m'
|
|
export COLOR_GRAY='\e[0;30m'
|
|
export COLOR_LIGHT_GRAY='\e[0;37m'
|
|
fi
|
|
|
|
function pass()
|
|
{
|
|
if ! test -z "$MANUAL"
|
|
then
|
|
echo -en " $COLOR_GRAY$(printf "%0.s-" {1..35})"
|
|
echo -en "[ ${COLOR_GREEN}PASS ]"
|
|
echo -e "$COLOR_GRAY$(printf "%0.s-" {1..36})$COLOR_NC"
|
|
else
|
|
rlPass
|
|
fi
|
|
}
|
|
|
|
function fail()
|
|
{
|
|
if ! test -z "$MANUAL"
|
|
then
|
|
echo -en " $COLOR_GRAY$(printf "%0.s-" {1..35})"
|
|
echo -en "[ ${COLOR_RED}FAIL ]"
|
|
echo -e "$COLOR_GRAY$(printf "%0.s-" {1..36})$COLOR_NC"
|
|
else
|
|
rlFail
|
|
fi
|
|
}
|
|
|
|
function print_test_case()
|
|
{
|
|
if test -z "$MANUAL"
|
|
then
|
|
return 0
|
|
fi
|
|
echo
|
|
local msg=" $COLOR_GRAY[${COLOR_BLUE}TEST $1$COLOR_GRAY]"
|
|
eval msg="\$msg\$(printf "%0.s-" {1..$[80-${#msg}+${#COLOR_BLUE}+2*${#COLOR_GRAY}]})"
|
|
echo -e "$msg$COLOR_NC"
|
|
}
|
|
|
|
function print_description()
|
|
{
|
|
desc=()
|
|
eval desc=\(\"\${DESCRIPTION_$1[@]}\"\)
|
|
for desc_line in "${desc[@]}"
|
|
do
|
|
echo " $desc_line"
|
|
done
|
|
echo
|
|
}
|
|
|
|
#
|
|
# Perform a test
|
|
#
|
|
# $1 test function
|
|
#
|
|
function run_test()
|
|
{
|
|
rlPhaseStartTest "$1"
|
|
|
|
if test $# -eq 0 -o -z $1
|
|
then
|
|
rlFail "ERROR: Expected test name to be passed to run_test" \
|
|
"function." >&2
|
|
exit 1
|
|
fi
|
|
|
|
local stdout_log="$2"
|
|
local stderr_log="$3"
|
|
|
|
if test -z $stdout_log -o ! -e $stdout_log
|
|
then
|
|
rlFail "ERROR: Test inconsistency, STDOUT log file missing or" \
|
|
"non-existent." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if test -z $stderr_log -o ! -e $stderr_log
|
|
then
|
|
rlFail "ERROR: Test inconsistency, STDERR log file missing or" \
|
|
"non-existent." >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo > $stdout_log
|
|
echo > $stderr_log
|
|
|
|
print_test_case "$1"
|
|
|
|
$1 "$stdout_log" "$stderr_log"
|
|
ret=$?
|
|
|
|
print_description "$1"
|
|
|
|
if test $ret -eq 0
|
|
then
|
|
pass
|
|
else
|
|
fail
|
|
|
|
echo "STDOUT {"
|
|
cat $stdout_log
|
|
echo "}"
|
|
|
|
echo "STDERR {"
|
|
cat $stderr_log
|
|
echo "}"
|
|
|
|
return 1
|
|
fi
|
|
|
|
rlPhaseEnd
|
|
}
|