fpp/compiler/scripts/test-utils.sh
2025-03-19 19:03:11 -07:00

81 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
export NO_COLOR='\033[0m'
export BOLD='\033[1m'
export RED='\033[31m'
export GREEN='\033[32m'
echo_green()
{
echo "${GREEN}${BOLD}$@${NO_COLOR}"
}
echo_red()
{
echo "${RED}${BOLD}$@${NO_COLOR}"
}
# Remove local path prefix
remove_path_prefix()
{
if test -z "$LOCAL_PATH_PREFIX"
then
export LOCAL_PATH_PREFIX=`cd ../../../..; echo $PWD`
fi
sed "s;$LOCAL_PATH_PREFIX;[ local path prefix ];g"
}
# Remove local author
remove_author()
{
sed 's;^// \\author .*;// \\author [user name];'
}
# Run a test
run()
{
printf '%-74s' $1
$@
status=$?
if test $status -eq 0
then
echo_green PASSED
else
echo_red FAILED
fi
return $status
}
# Run a test suite
run_suite()
{
tests=$@
num_passed=0
num_failed=0
{
for t in $tests
do
if run $t
then
num_passed=`expr $num_passed + 1`
else
num_failed=`expr $num_failed + 1`
fi
done
printf "$num_passed passed"
if test $num_failed -gt 0
then
printf ", $num_failed failed"
fi
echo
echo $num_failed > num_failed.txt
} 2>&1 | tee test-output.txt
exit `cat num_failed.txt`
}