| author | Christian Urban <urbanc@in.tum.de> | 
| Fri, 05 Oct 2018 11:25:53 +0100 | |
| changeset 193 | ae307c3de4ee | 
| parent 93 | 21f41e08457d | 
| permissions | -rwxr-xr-x | 
| 93 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 1 | #!/bin/bash | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 2 | set -e | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 3 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 4 | out=${1:-output-test}
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 5 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 6 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 7 | function scala_vars {
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 8 | (egrep '\bvar\b|\breturn\b|ListBuffer|mutable' "$1" 2> /dev/null 1> /dev/null) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 9 | } | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 10 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 11 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 12 | # compilation tests | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 13 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 14 | function scala_compile {
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 15 | (scala "$1" 2> /dev/null 1> /dev/null) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 16 | } | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 17 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 18 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 19 | # functional tests | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 20 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 21 | function scala_assert {
 | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 22 | (scala -i "$1" "$2" -e "" 2> /dev/null 1> /dev/null) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 23 | } | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 24 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 25 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 26 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 27 | # var, return, ListBuffer test | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 28 | # | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 29 | #echo "re.scala does not contain vars, returns etc?" | tee -a $out | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 30 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 31 | if (scala_vars re.scala) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 32 | then | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 33 | #echo " --> fail" | tee -a $out | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 34 | tsts0=$(( 1 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 35 | else | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 36 | #echo " --> yes" | tee -a $out | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 37 | tsts0=$(( 0 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 38 | fi | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 39 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 40 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 41 | # compilation test | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 42 | if [ $tsts0 -eq 0 ] | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 43 | then | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 44 | #echo "re.scala runs?" | tee -a $out | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 45 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 46 | if (scala_compile re.scala.bak) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 47 | then | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 48 | #echo " --> yes" | tee -a $out | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 49 | tsts1=$(( 0 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 50 | else | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 51 | #echo " --> scala re.scala did not run successfully" | tee -a $out | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 52 | tsts1=$(( 1 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 53 | fi | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 54 | else | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 55 | tsts1=$(( 1 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 56 | fi | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 57 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 58 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 59 | if [ $tsts1 -eq 0 ] | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 60 | then | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 61 | if (scala_assert "re.scala.bak" "../../../marking/re1d_test.scala") | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 62 | then | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 63 | echo " --> success" | tee -a $out | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 64 | t1=$(( 1 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 65 | else | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 66 | echo " --> test failed" | tee -a $out | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 67 | t1=$(( 0 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 68 | fi | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 69 | else | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 70 | t1=$(( 0 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 71 | fi | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 72 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 73 | if [ $tsts1 -eq 0 ] | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 74 | then | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 75 | if (scala_assert "re.scala.bak" "../../../marking/re1d_bug_test.scala") | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 76 | then | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 77 | echo " bug --> success" | tee -a $out | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 78 | t2=$(( 1 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 79 | else | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 80 | echo " bug --> test failed" | tee -a $out | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 81 | t2=$(( 0 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 82 | fi | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 83 | else | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 84 | t2=$(( 0 )) | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 85 | fi | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 86 | |
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 87 | if [ $t1 -ne $t2 ] | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 88 | then | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 89 | echo "disagree" | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 90 | pwd | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 91 | fi | 
| 
21f41e08457d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 92 |