pay-respects/tests/main.sh

64 lines
1.1 KiB
Bash
Raw Normal View History

2025-04-05 00:10:29 +02:00
#!/usr/bin/bash
export PR=$(realpath ../target/debug/pay-respects)
export _PR_SHELL="bash"
export _PR_LIB=""
export _PR_MODE="echo"
export TMP=$(mktemp -d)
PASSED=0
FAILED=0
export green='\033[0;32m'
export red='\033[0;31m'
export reset='\033[0m'
run_test() {
export _PR_LAST_COMMAND=$command
export _PR_ERROR_MSG=$error
result=$($PR 2>/dev/null)
if [[ $result == *"$expect"* ]]; then
echo -e "${green}[Passed]${reset}: $case"
return 0
else
echo -e "${red}[Failed]${reset}: $case"
echo -e "\texpected: $expect"
echo -e "\tgot: $result"
return 1
fi
}
run_case() {
(
source $1
run_test "$case" "$command" "$error" "$expect"
)
2025-04-05 00:10:29 +02:00
if [[ $? == 0 ]]; then
PASSED=$((PASSED + 1))
else
FAILED=$((FAILED + 1))
fi
}
main() {
echo "Starting suggestion tests..."
echo "-----------------------------------------"
WORKDIR=$(pwd)
cd $TMP
for case in $WORKDIR/cases/*; do
run_case $case
done
echo "-----------------------------------------"
echo -en "${green}Passed${reset}: $PASSED\t"
echo -en "${red}Failed${reset}: $FAILED\t"
echo -e "Total: $((PASSED + FAILED))"
rm -rf $TMP
if [[ $FAILED -ne 0 ]]; then
exit 1
fi
}
main "$@"