#/bin/bash uname=`uname` if [[ "$uname" -eq "Darwin" ]]; then date="gdate" readlink="greadlink" else date="date" readlink="readlink" fi start=$($date +%s.%N) absdir=$($readlink -f $(dirname $0)) ret_only=`$absdir/../mycc < $absdir/return_only.c | tail -n 1` var_maths=`$absdir/../mycc < $absdir/var_maths.c | tail -n 1` func_call=`$absdir/../mycc < $absdir/func_call.c | tail -n 1` cond_loop=`$absdir/../mycc < $absdir/cond_loop.c | tail -n 1` func_args=`$absdir/../mycc < $absdir/func_args.c | tail -n 1` ret_ans='3' var_ans='11' func_ans='8' args_ans='14' cond_ans='17' overall='0' pass="\033[32mPASSED\033[0m" fail="\033[31mFAILED\033[0m" if [[ "$ret_only" -eq $ret_ans ]]; then echo "return_only ... $pass" else echo -n "return_only ... $fail" echo " expected $ret_ans but got $ret_only" overall='1' fi if [[ "$var_maths" -eq $var_ans ]]; then echo "var_maths ..... $pass" else echo "var_maths ..... $fail" echo " expected $var_ans but got $var_maths" overall='1' fi if [[ "$func_call" -eq $func_ans ]]; then echo "func_call ..... $pass" else echo -n "func_call ..... $fail" echo " expected $func_ans but got $func_call" overall='1' fi if [[ "$cond_loop" -eq $cond_ans ]]; then echo "cond_loop ..... $pass" else echo -n "cond_loop ..... $fail" echo " expected $cond_ans but got $cond_loop" overall='1' fi if [[ "$func_args" -eq $args_ans ]]; then echo "func_args ..... $pass" else echo -n "func_args ..... $fail" echo " expected $args_ans but got $func_args" overall='1' fi end=$($date +%s.%N) runtime=$(python -c "print(${end} - ${start})") echo "\nCompleted 5 tests in $runtime""s" exit $overall