Year 2 compilers coureswork

test.sh 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #/bin/bash
  2. ret_only=`../mycc < ./return_only.c | tail -n 1`
  3. var_maths=`../mycc < ./var_maths.c | tail -n 1`
  4. func_call=`../mycc < ./func_call.c | tail -n 1`
  5. cond_loop=`../mycc < ./cond_loop.c | tail -n 1`
  6. ret_ans='3'
  7. var_ans='11'
  8. func_ans='8'
  9. cond_ans='17'
  10. overall='0'
  11. pass="\033[32mPASSED\033[0m"
  12. fail="\033[31mFAILED\033[0m"
  13. if [ "$ret_only" -eq $ret_ans ]; then
  14. echo "return_only ... $pass"
  15. else
  16. echo -n "return_only ... $fail"
  17. echo " expected $ret_ans but got $ret_only"
  18. overall='1'
  19. fi
  20. if [ "$var_maths" -eq $var_ans ]; then
  21. echo "var_maths ..... $pass"
  22. else
  23. echo "var_maths ..... $fail"
  24. echo " expected $var_ans but got $var_maths"
  25. overall='1'
  26. fi
  27. if [ "$func_call" -eq $func_ans ]; then
  28. echo "func_call ..... $pass"
  29. else
  30. echo -n "func_call ..... $fail"
  31. echo " expected $func_ans but got $func_call"
  32. overall='1'
  33. fi
  34. if [ "$cond_loop" -eq $cond_ans ]; then
  35. echo "cond_loop ..... $pass"
  36. else
  37. echo -n "cond_loop ..... $fail"
  38. echo " expected $cond_ans but got $cond_loop"
  39. overall='1'
  40. fi
  41. exit $overall