mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-09-28 11:17:46 +00:00
79 lines
1.4 KiB
Bash
Executable file
79 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
TEST_SCRIPT=$1
|
|
shift
|
|
|
|
. ./tests/colors.sh
|
|
|
|
export TOTAL_RESULT=0
|
|
export PREFIX=""
|
|
export TESTCASE=""
|
|
export TEST_COUNT=0
|
|
|
|
# Asserts that the exit code of the previous command was successful (IE. zero)
|
|
#
|
|
# Argument 1: Name for this specific test
|
|
# Argument 2: Optional message to display on error
|
|
# Arguments 3+: Optional Command + arguments to run on error
|
|
assert_success_named ()
|
|
{
|
|
RESULT=$?
|
|
NAME=$1
|
|
ERRORMSG=$2
|
|
shift
|
|
shift
|
|
|
|
TEST_COUNT=$(($TEST_COUNT + 1))
|
|
|
|
printf "$PREFIX: $TEST_COUNT:"
|
|
|
|
if ! [ -z "$TESTCASE" ]; then
|
|
printf " $TESTCASE:"
|
|
fi
|
|
|
|
if ! [ -z "$NAME" ]; then
|
|
printf " $NAME:"
|
|
fi
|
|
|
|
if [ "$RESULT" -eq 0 ]; then
|
|
echo "$GREEN PASS!$RESET"
|
|
else
|
|
printf "$RED FAILURE!$RESET"
|
|
|
|
if ! [ -z "$ERRORMSG" ]; then
|
|
echo " - $ERRORMSG"
|
|
else
|
|
echo
|
|
fi
|
|
|
|
TOTAL_RESULT=$(($TOTAL_RESULT + 1))
|
|
|
|
if [ $# -gt 0 ]; then
|
|
"$@"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# Asserts that the exit code of the previous command was successful (IE. zero)
|
|
#
|
|
# Argument 1: Optional message to display on error
|
|
# Arguments 2+: Optional Command + arguments to run on error
|
|
assert_success ()
|
|
{
|
|
assert_success_named "" "$@"
|
|
}
|
|
|
|
assert_ignored ()
|
|
{
|
|
TEST_COUNT=$(($TEST_COUNT + 1))
|
|
echo "$PREFIX: $TEST_COUNT: $TESTCASE:$YELLOW IGNORED!$RESET"
|
|
}
|
|
|
|
cp_if_exists ()
|
|
(
|
|
[ -f "$1" ] && cp "$1" "$2"
|
|
)
|
|
|
|
. "$TEST_SCRIPT" "$@"
|
|
|
|
exit $TOTAL_RESULT
|