diff -r ca9c1cf929fa -r e5453add7df6 marking3/knight1_test.sh --- a/marking3/knight1_test.sh Tue Nov 26 01:22:36 2019 +0000 +++ b/marking3/knight1_test.sh Tue Dec 03 01:22:16 2019 +0000 @@ -8,7 +8,7 @@ echo "" > $out echo "Below is the feedback and provisional marks for your submission" >> $out -echo "for assignment 8 Part 1. Please note all marks are provisional until" >> $out +echo "for Preliminary 8. Please note all marks are provisional until" >> $out echo "ratified by the assessment board -- this is not an official" >> $out echo "results transcript." >> $out echo "" >> $out @@ -19,27 +19,36 @@ marks=$(( 0 )) -# compilation tests (used to be 30 secs) - function scala_compile { - (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -nc "$1" 2> /dev/null 1> /dev/null) + (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala "$1" 2>> $out 1>> $out) } # functional tests +function scala_assert_slow { + (ulimit -t 120; JAVA_OPTS="-Xmx1g" scala -i "$1" "-- $2" 2> /dev/null 1> /dev/null) +} + +function scala_assert_thirty { + (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -i "$1" -- "$2" 2> /dev/null 1> /dev/null) +} + +function scala_assert_quick { + (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -i "$1" -- "$2" 2> /dev/null 1> /dev/null) +} + function scala_assert { - (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -nc -i "$1" "$2" -e "") #2> /dev/null 1> /dev/null) + (ulimit -t 30; JAVA_OPTS="-Xmx1g" scala -i "$1" -- "$2" 2> /dev/null 1> /dev/null) } function scala_assert_long { - (ulimit -t 60; JAVA_OPTS="-Xmx1g" scala -nc -i "$1" "$2" -e "") #2> /dev/null 1> /dev/null) + (ulimit -t 60; JAVA_OPTS="-Xmx1g" scala -i "$1" -- "$2" -2> /dev/null 1> /dev/null) } function scala_assert_elong { - (ulimit -t 90; JAVA_OPTS="-Xmx1g" scala -nc -i "$1" "$2" -e "") #2> /dev/null 1> /dev/null) + (ulimit -t 90; JAVA_OPTS="-Xmx1g" scala -i "$1" -- "$2" 2> /dev/null 1> /dev/null) } - # purity test function scala_vars { @@ -53,7 +62,7 @@ if (scala_vars knight1.scala) then - echo " --> fail" | tee -a $out + echo " --> FAIL" | tee -a $out tsts0=$(( 1 )) else echo " --> success" | tee -a $out @@ -72,7 +81,7 @@ echo " --> success " | tee -a $out tsts1=$(( 0 )) else - echo " --> scala did not run knight1.scala" | tee -a $out + echo -e " --> SCALA DID NOT RUN KNIGHT1.SCALA\n" | tee -a $out tsts1=$(( 1 )) fi else @@ -89,10 +98,10 @@ if (scala_assert "knight1.scala" "knight1_test1.scala") then - echo " --> success" | tee -a $out + echo -e " --> success\n" | tee -a $out marks=$(( marks + 1 )) else - echo " --> test failed" | tee -a $out + echo -e " --> \n ONE TEST FAILED\n"| tee -a $out fi fi @@ -103,6 +112,7 @@ echo " legal_moves(8, Nil, (2,2)) == List((3,4), (4,3), (4,1), (3,0), (1,0), (0,1), (0,3), (1,4))" | tee -a $out echo " legal_moves(8, Nil, (7,7)) == List((6,5), (5,6))" | tee -a $out echo " legal_moves(8, List((4,1), (1,0)), (2,2)) == List((3,4), (4,3), (3,0), (0,1), (0,3), (1,4))" | tee -a $out + echo " legal_moves(8, Nil, (0,1)) == List((1,3), (2,2), (2,0))" | tee -a $out echo " legal_moves(8, List((6,6)), (7,7)) == List((6,5), (5,6))" | tee -a $out echo " legal_moves(1, Nil, (0,0)) == Nil" | tee -a $out echo " legal_moves(2, Nil, (0,0)) == Nil" | tee -a $out @@ -110,10 +120,10 @@ if (scala_assert "knight1.scala" "knight1_test2.scala") then - echo " --> success" | tee -a $out + echo -e " --> success\n" | tee -a $out marks=$(( marks + 1 )) else - echo " --> test failed" | tee -a $out + echo -e " --> \n ONE TEST FAILED\n" | tee -a $out fi fi @@ -128,67 +138,47 @@ echo " 3: 0,0,0,0,0,0,0,0,0" | tee -a $out echo " 4: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0" | tee -a $out echo " 5: 304,0,56,0,304,0,56,0,56,0,56,0,64,0,56,0,56,0,56,0,304,0,56,0,304" | tee -a $out + START=$(date +%s) - if (time scala_assert_elong "knight1.scala" "knight1_test3a.scala") + if (scala_assert_elong "knight1.scala" "knight1_test3a.scala") then - echo " --> success" | tee -a $out + END=$(date +%s) + DIFF=$(( $END - $START )) + echo " It took $DIFF seconds" | tee -a $out + echo -e " --> success\n" | tee -a $out marks=$(( marks + 1 )) else - echo " --> test failed" | tee -a $out + END=$(date +%s) + DIFF=$(( $END - $START )) + echo " It took $DIFF seconds" | tee -a $out + echo -e " --> \n ONE TEST FAILED\n" | tee -a $out fi fi if [ $tsts1 -eq 0 ] then echo " enum_tours(5, List((0,2)) ) => 56 tours? and all correct?" | tee -a $out + echo " enum_tours(5, List((0,0)) ) => 304 tours? and all correct?" | tee -a $out + START=$(date +%s) - if (time scala_assert "knight1.scala" "knight1_test3b.scala") + if (scala_assert "knight1.scala" "knight1_test3b.scala") then - echo " --> success" | tee -a $out + END=$(date +%s) + DIFF=$(( $END - $START )) + echo " It took $DIFF seconds" | tee -a $out + echo -e " --> success\n" | tee -a $out marks=$(( marks + 1 )) else - echo " --> test failed" | tee -a $out - fi -fi - - -### knight4 test - -if [ $tsts1 -eq 0 ] -then - echo " val f = (x:(Int, Int)) => if (x._1 > 3) Some(List(x)) else None " | tee -a $out - echo " first(List((1,0),(2,0),(3,0),(4,0)), f) == Some(List((4,0)))" | tee -a $out - echo " first(List((1,0),(2,0),(3,0)), f) == None" | tee -a $out - - if (scala_assert "knight1.scala" "knight1_test4.scala") - then - echo " --> success" | tee -a $out - marks=$(( marks + 1 )) - else - echo " --> test failed" | tee -a $out - fi -fi - - -### knight5 test - -if [ $tsts1 -eq 0 ] -then - echo " is first_tour(8, List((0, 0))) ok? " | tee -a $out - echo " is first_tour(4, List((0, 0))) == None " | tee -a $out - - if (time scala_assert_long "knight1.scala" "knight1_test5.scala") - then - echo " --> success" | tee -a $out - marks=$(( marks + 1 )) - else - echo " --> test failed" | tee -a $out + END=$(date +%s) + DIFF=$(( $END - $START )) + echo " It took $DIFF seconds" | tee -a $out + echo -e " --> \n ONE TEST FAILED\n" | tee -a $out fi fi ## final marks -echo "Overall mark for Part 1" | tee -a $out +echo "Overall mark for Preliminary 8" | tee -a $out echo "$marks" | tee -a $out