Changeset d83b266 for doc/theses/andrew_beach_MMath/code/test.sh
- Timestamp:
- Jul 26, 2021, 2:42:34 PM (4 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 0a061c0
- Parents:
- c86ee4c (diff), 98233b3 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/andrew_beach_MMath/code/test.sh
rc86ee4c rd83b266 1 1 #!/usr/bin/env bash 2 2 3 # Usage: LANGUAGE TEST | -b SOURCE_FILE 3 # Usage: 4 # test.sh LANGUAGE TEST 5 # Run the TEST in LANGUAGE. 6 # test.sh -b SOURCE_FILE... 7 # Build a test from SOURCE_FILE(s). 8 # test.sh -v LANGUAGE TEST FILE 9 # View the result from TEST in LANGUAGE stored in FILE. 4 10 5 11 readonly ITERATIONS=1000000 # 1 000 000, one million … … 18 24 *.cfa) 19 25 # Requires a symbolic link. 20 mmake "${1%.cfa}" "$1" ./cfa "$1" -o "${1%.cfa}"26 mmake "${1%.cfa}" "$1" ./cfa -DNDEBUG -nodebug -O3 "$1" -o "${1%.cfa}" 21 27 ;; 22 28 *.cpp) 23 mmake "${1%.cpp}-cpp" "$1" g++ "$1" -o "${1%.cpp}-cpp"29 mmake "${1%.cpp}-cpp" "$1" g++ -DNDEBUG -O3 "$1" -o "${1%.cpp}-cpp" 24 30 ;; 25 31 *.java) … … 38 44 done 39 45 exit 0 46 elif [ "-v" = "$1" -a 4 = "$#" ]; then 47 TEST_LANG="$2" 48 TEST_CASE="$3" 49 VIEW_FILE="$4" 50 elif [ 2 -eq "$#" ]; then 51 TEST_LANG="$1" 52 TEST_CASE="$2" 53 else 54 echo "Unknown call pattern." >&2 55 exit 2 40 56 fi 41 57 … … 46 62 } 47 63 48 case "$ 2" in64 case "$TEST_CASE" in 49 65 cond-match-all) 50 66 CFAT="./cond-catch $ITERATIONS 1" … … 52 68 CPP="./cond-catch-cpp $ITERATIONS 1" 53 69 JAVA="java CondCatch $ITERATIONS 1" 70 PYTHON="./cond_catch.py $ITERATIONS 1" 54 71 ;; 55 72 cond-match-none) … … 58 75 CPP="./cond-catch-cpp $ITERATIONS 0" 59 76 JAVA="java CondCatch $ITERATIONS 0" 77 PYTHON="./cond_catch.py $ITERATIONS 0" 60 78 ;; 61 79 cross-catch) … … 64 82 CPP="./cross-catch-cpp $ITERATIONS" 65 83 JAVA="java CrossCatch $ITERATIONS" 84 PYTHON="./cross_catch.py $ITERATIONS" 66 85 ;; 67 86 cross-finally) … … 70 89 CPP=unsupported 71 90 JAVA="java CrossFinally $ITERATIONS" 91 PYTHON="./cross_finally.py $ITERATIONS" 72 92 ;; 73 93 raise-detor) … … 76 96 CPP="./throw-detor-cpp $ITERATIONS $STACK_HEIGHT" 77 97 JAVA=unsupported 98 PYTHON=unsupported 78 99 ;; 79 100 raise-empty) … … 82 103 CPP="./throw-empty-cpp $ITERATIONS $STACK_HEIGHT" 83 104 JAVA="java ThrowEmpty $ITERATIONS $STACK_HEIGHT" 105 PYTHON="./throw_empty.py $ITERATIONS $STACK_HEIGHT" 84 106 ;; 85 107 raise-finally) … … 88 110 CPP=unsupported 89 111 JAVA="java ThrowFinally $ITERATIONS $STACK_HEIGHT" 112 PYTHON="./throw_finally.py $ITERATIONS $STACK_HEIGHT" 90 113 ;; 91 114 raise-other) … … 94 117 CPP="./throw-other-cpp $ITERATIONS $STACK_HEIGHT" 95 118 JAVA="java ThrowOther $ITERATIONS $STACK_HEIGHT" 119 PYTHON="./throw_other.py $ITERATIONS $STACK_HEIGHT" 96 120 ;; 97 121 *) 98 echo "No such test ." >&2122 echo "No such test: $TEST_CASE" >&2 99 123 exit 2 100 124 ;; 101 125 esac 102 126 103 case "$1" in 104 cfa-t) echo $CFAT; $CFAT;; 105 cfa-r) echo $CFAR; $CFAR;; 106 cpp) echo $CPP; $CPP;; 107 java) echo $JAVA; $JAVA;; 127 case "$TEST_LANG" in 128 cfa-t) CALL="$CFAT";; 129 cfa-r) CALL="$CFAR";; 130 cpp) CALL="$CPP";; 131 java) CALL="$JAVA";; 132 python) CALL="$PYTHON";; 133 *) 134 echo "No such language: $TEST_LANG" >&2 135 exit 2 136 ;; 108 137 esac 138 139 echo $CALL 140 141 if [ -n "$VIEW_FILE" ]; then 142 grep -A 1 -B 0 "$CALL" "$VIEW_FILE" | sed -n -e 's!Run-Time (ns): !!;T;p' 143 exit 144 fi 145 146 $CALL
Note:
See TracChangeset
for help on using the changeset viewer.