51 lines
1.1 KiB
Bash
51 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
# This script is basically just a convenient launch pad script for running all
|
|
# the tests at once
|
|
# Most tests should be runnable by doing ./script.sh name_of_test
|
|
|
|
|
|
# First the 'good' input tests
|
|
# This is to say that we get input that:
|
|
# 1. is properly formatted
|
|
# 2. has all the info we need & none we don't
|
|
# 3. has basically nothing malicious about it
|
|
|
|
log_result() {
|
|
name=$1
|
|
expect=$2
|
|
actual=$3
|
|
result=$4
|
|
|
|
green='\033[1;32m'
|
|
red='\033[1;91m'
|
|
nc='\033[0m'
|
|
if [ $expect != $actual ];then
|
|
echo -e ${red}${name}${nc} ${green}$expect ${red}$actual${nc}
|
|
echo -e ${red}==========${nc}
|
|
echo "$result" | sed 's/^/\t/g'
|
|
echo -e ${red}==========${nc}
|
|
else
|
|
echo -e ${green}${name}${nc} $expect $actual
|
|
if [ ! -z "$_show_body" ];then
|
|
echo ==========
|
|
echo "$result" | sed 's/^/\t/g'
|
|
echo ==========
|
|
fi
|
|
fi
|
|
}
|
|
|
|
if [ "$1" = "body" ];then
|
|
export _show_body=1
|
|
fi
|
|
|
|
source ./common.sh
|
|
export -f log_result
|
|
echo TestName ExpectedCode ActualCode
|
|
|
|
bash ./verify_basic_cases.sh
|
|
|
|
bash ./verify_err_cases.sh
|
|
|
|
bash ./verify_mal_cases.sh
|