Changeset 5a40e4e for doc/theses/andrew_beach_MMath/code/test.sh
- Timestamp:
- Sep 9, 2021, 3:56:32 PM (4 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, master, pthread-emulation, qualifiedEnum
- Children:
- d0b9247
- Parents:
- dd1cc02 (diff), d8d512e (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
-
doc/theses/andrew_beach_MMath/code/test.sh (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/andrew_beach_MMath/code/test.sh
rdd1cc02 r5a40e4e 4 4 # test.sh LANGUAGE TEST 5 5 # Run the TEST in LANGUAGE. 6 # test.sh -a 7 # Build all tests. 6 8 # test.sh -b SOURCE_FILE... 7 9 # Build a test from SOURCE_FILE(s). 10 # test.sh -c 11 # Clean all executables. 8 12 # test.sh -v LANGUAGE TEST FILE 9 13 # View the result from TEST in LANGUAGE stored in FILE. 10 14 11 readonly ITERATIONS=1000000 # 1 000 000, one million 15 readonly DIR=$(dirname "$(readlink -f "$0")") 16 cd $DIR 17 18 readonly MIL=000000 19 # Various preset values used as arguments. 20 readonly ITERS_1M=1$MIL 21 readonly ITERS_10M=10$MIL 22 readonly ITERS_100M=100$MIL 23 readonly ITERS_1000M=1000$MIL 12 24 readonly STACK_HEIGHT=100 13 25 … … 23 35 case "$1" in 24 36 *.cfa) 25 # Requires a symbolic link. 26 mmake "${1%.cfa}" "$1" ./cfa -DNDEBUG -nodebug -O3 "$1" -o "${1%.cfa}" 37 # A symbolic link/local copy can be used as an override. 38 cmd=./cfa 39 if [ ! -x $cmd ]; then 40 cmd=cfa 41 fi 42 mmake "${1%.cfa}" "$1" $cmd -DNDEBUG -nodebug -O3 "$1" -o "${1%.cfa}" 27 43 ;; 28 44 *.cpp) 29 mmake "${1%.cpp}-cpp" "$1" g++ -DNDEBUG -O3 "$1" -o "${1%.cpp}-cpp"45 mmake "${1%.cpp}-cpp" "$1" g++-10 -DNDEBUG -O3 "$1" -o "${1%.cpp}-cpp" 30 46 ;; 31 47 *.java) … … 39 55 ) 40 56 41 if [ "-b" = "$1" ]; then 57 if [ "-a" = "$1" ]; then 58 for file in *.cfa *.cpp *.java; do 59 build $file 60 done 61 exit 0 62 elif [ "-b" = "$1" ]; then 42 63 for file in "${@:2}"; do 43 64 build $file 44 65 done 45 66 exit 0 67 elif [ "-c" = "$1" ]; then 68 rm $(basename -s ".cfa" -a *.cfa) 69 rm $(basename -s ".cpp" -a *.cpp) 70 rm *-cpp 71 rm *.class 72 exit 0 46 73 elif [ "-v" = "$1" -a 4 = "$#" ]; then 47 TEST_LANG="$2"48 TEST_CASE="$3"49 VIEW_FILE="$4"74 TEST_LANG="$2" 75 TEST_CASE="$3" 76 VIEW_FILE="$4" 50 77 elif [ 2 -eq "$#" ]; then 51 78 TEST_LANG="$1" … … 63 90 64 91 case "$TEST_CASE" in 65 cond-match-all) 66 CFAT="./cond-catch $ITERATIONS 1" 67 CFAR="./cond-fixup $ITERATIONS 1" 68 CPP="./cond-catch-cpp $ITERATIONS 1" 69 JAVA="java CondCatch $ITERATIONS 1" 70 PYTHON="./cond_catch.py $ITERATIONS 1" 71 ;; 72 cond-match-none) 73 CFAT="./cond-catch $ITERATIONS 0" 74 CFAR="./cond-fixup $ITERATIONS 0" 75 CPP="./cond-catch-cpp $ITERATIONS 0" 76 JAVA="java CondCatch $ITERATIONS 0" 77 PYTHON="./cond_catch.py $ITERATIONS 0" 78 ;; 79 cross-catch) 80 CFAT="./cross-catch $ITERATIONS" 81 CFAR="./cross-resume $ITERATIONS" 82 CPP="./cross-catch-cpp $ITERATIONS" 83 JAVA="java CrossCatch $ITERATIONS" 84 PYTHON="./cross_catch.py $ITERATIONS" 85 ;; 86 cross-finally) 87 CFAT="./cross-finally $ITERATIONS" 88 CFAR=unsupported 89 CPP=unsupported 90 JAVA="java CrossFinally $ITERATIONS" 91 PYTHON="./cross_finally.py $ITERATIONS" 92 raise-empty) 93 CFAT="./throw-empty $ITERS_1M $STACK_HEIGHT" 94 CFAR="./resume-empty $ITERS_10M $STACK_HEIGHT" 95 CPP="./throw-empty-cpp $ITERS_1M $STACK_HEIGHT" 96 JAVA="java ThrowEmpty $ITERS_1M $STACK_HEIGHT" 97 PYTHON="./throw-empty.py $ITERS_1M $STACK_HEIGHT" 92 98 ;; 93 99 raise-detor) 94 CFAT="./throw-detor $ITER ATIONS$STACK_HEIGHT"95 CFAR="./resume-detor $ITER ATIONS$STACK_HEIGHT"96 CPP="./throw-detor-cpp $ITER ATIONS$STACK_HEIGHT"100 CFAT="./throw-detor $ITERS_1M $STACK_HEIGHT" 101 CFAR="./resume-detor $ITERS_10M $STACK_HEIGHT" 102 CPP="./throw-detor-cpp $ITERS_1M $STACK_HEIGHT" 97 103 JAVA=unsupported 98 104 PYTHON=unsupported 99 105 ;; 100 raise-empty)101 CFAT="./throw-empty $ITERATIONS $STACK_HEIGHT"102 CFAR="./resume-empty $ITERATIONS $STACK_HEIGHT"103 CPP="./throw-empty-cpp $ITERATIONS $STACK_HEIGHT"104 JAVA="java ThrowEmpty $ITERATIONS $STACK_HEIGHT"105 PYTHON="./throw_empty.py $ITERATIONS $STACK_HEIGHT"106 ;;107 106 raise-finally) 108 CFAT="./throw-finally $ITER ATIONS$STACK_HEIGHT"109 CFAR="./resume-finally $ITER ATIONS$STACK_HEIGHT"107 CFAT="./throw-finally $ITERS_1M $STACK_HEIGHT" 108 CFAR="./resume-finally $ITERS_10M $STACK_HEIGHT" 110 109 CPP=unsupported 111 JAVA="java ThrowFinally $ITER ATIONS$STACK_HEIGHT"112 PYTHON="./throw _finally.py $ITERATIONS$STACK_HEIGHT"110 JAVA="java ThrowFinally $ITERS_1M $STACK_HEIGHT" 111 PYTHON="./throw-finally.py $ITERS_1M $STACK_HEIGHT" 113 112 ;; 114 113 raise-other) 115 CFAT="./throw-other $ITERATIONS $STACK_HEIGHT" 116 CFAR="./resume-other $ITERATIONS $STACK_HEIGHT" 117 CPP="./throw-other-cpp $ITERATIONS $STACK_HEIGHT" 118 JAVA="java ThrowOther $ITERATIONS $STACK_HEIGHT" 119 PYTHON="./throw_other.py $ITERATIONS $STACK_HEIGHT" 114 CFAT="./throw-other $ITERS_1M $STACK_HEIGHT" 115 CFAR="./resume-other $ITERS_10M $STACK_HEIGHT" 116 CPP="./throw-other-cpp $ITERS_1M $STACK_HEIGHT" 117 JAVA="java ThrowOther $ITERS_1M $STACK_HEIGHT" 118 PYTHON="./throw-other.py $ITERS_1M $STACK_HEIGHT" 119 ;; 120 try-catch) 121 CFAT="./try-catch $ITERS_1000M" 122 CFAR="./try-resume $ITERS_1000M" 123 CPP="./try-catch-cpp $ITERS_1000M" 124 JAVA="java TryCatch $ITERS_1000M" 125 PYTHON="./try-catch.py $ITERS_1000M" 126 ;; 127 try-finally) 128 CFAT="./try-finally $ITERS_1000M" 129 CFAR=unsupported 130 CPP=unsupported 131 JAVA="java TryFinally $ITERS_1000M" 132 PYTHON="./try-finally.py $ITERS_1000M" 133 ;; 134 cond-match-all) 135 CFAT="./cond-catch $ITERS_10M 1" 136 CFAR="./cond-fixup $ITERS_100M 1" 137 CPP="./cond-catch-cpp $ITERS_10M 1" 138 JAVA="java CondCatch $ITERS_10M 1" 139 PYTHON="./cond-catch.py $ITERS_10M 1" 140 ;; 141 cond-match-none) 142 CFAT="./cond-catch $ITERS_10M 0" 143 CFAR="./cond-fixup $ITERS_100M 0" 144 CPP="./cond-catch-cpp $ITERS_10M 0" 145 JAVA="java CondCatch $ITERS_10M 0" 146 PYTHON="./cond-catch.py $ITERS_10M 0" 147 ;; 148 fixup-empty) 149 CFAT="./fixup-empty-f $ITERS_10M $STACK_HEIGHT" 150 CFAR="./fixup-empty-r $ITERS_10M $STACK_HEIGHT" 151 CPP="./fixup-empty-cpp $ITERS_10M $STACK_HEIGHT" 152 JAVA="java FixupEmpty $ITERS_10M $STACK_HEIGHT" 153 PYTHON="./fixup-empty.py $ITERS_10M $STACK_HEIGHT" 154 ;; 155 fixup-other) 156 CFAT="./fixup-other-f $ITERS_10M $STACK_HEIGHT" 157 CFAR="./fixup-other-r $ITERS_10M $STACK_HEIGHT" 158 CPP="./fixup-other-cpp $ITERS_10M $STACK_HEIGHT" 159 JAVA="java FixupOther $ITERS_10M $STACK_HEIGHT" 160 PYTHON="./fixup-other.py $ITERS_10M $STACK_HEIGHT" 120 161 ;; 121 162 *) … … 140 181 141 182 if [ -n "$VIEW_FILE" ]; then 142 grep -A 1 -B 0 "$CALL" "$VIEW_FILE" | sed -n -e 's!Run-Time (ns): !!;T;p'143 exit183 grep -A 1 -B 0 "$CALL" "$VIEW_FILE" | sed -n -e 's!Run-Time (ns): !!;T;p' 184 exit 144 185 fi 145 186
Note:
See TracChangeset
for help on using the changeset viewer.