Ignore:
Timestamp:
Jul 26, 2021, 2:42:34 PM (4 years ago)
Author:
Thierry Delisle <tdelisle@…>
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.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/andrew_beach_MMath/code/test.sh

    rc86ee4c rd83b266  
    11#!/usr/bin/env bash
    22
    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.
    410
    511readonly ITERATIONS=1000000 # 1 000 000, one million
     
    1824        *.cfa)
    1925                # 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}"
    2127                ;;
    2228        *.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"
    2430                ;;
    2531        *.java)
     
    3844        done
    3945        exit 0
     46elif [ "-v" = "$1" -a 4 = "$#" ]; then
     47    TEST_LANG="$2"
     48    TEST_CASE="$3"
     49    VIEW_FILE="$4"
     50elif [ 2 -eq "$#" ]; then
     51        TEST_LANG="$1"
     52        TEST_CASE="$2"
     53else
     54        echo "Unknown call pattern." >&2
     55        exit 2
    4056fi
    4157
     
    4662}
    4763
    48 case "$2" in
     64case "$TEST_CASE" in
    4965cond-match-all)
    5066        CFAT="./cond-catch $ITERATIONS 1"
     
    5268        CPP="./cond-catch-cpp $ITERATIONS 1"
    5369        JAVA="java CondCatch $ITERATIONS 1"
     70        PYTHON="./cond_catch.py $ITERATIONS 1"
    5471        ;;
    5572cond-match-none)
     
    5875        CPP="./cond-catch-cpp $ITERATIONS 0"
    5976        JAVA="java CondCatch $ITERATIONS 0"
     77        PYTHON="./cond_catch.py $ITERATIONS 0"
    6078        ;;
    6179cross-catch)
     
    6482        CPP="./cross-catch-cpp $ITERATIONS"
    6583        JAVA="java CrossCatch $ITERATIONS"
     84        PYTHON="./cross_catch.py $ITERATIONS"
    6685        ;;
    6786cross-finally)
     
    7089        CPP=unsupported
    7190        JAVA="java CrossFinally $ITERATIONS"
     91        PYTHON="./cross_finally.py $ITERATIONS"
    7292        ;;
    7393raise-detor)
     
    7696        CPP="./throw-detor-cpp $ITERATIONS $STACK_HEIGHT"
    7797        JAVA=unsupported
     98        PYTHON=unsupported
    7899        ;;
    79100raise-empty)
     
    82103        CPP="./throw-empty-cpp $ITERATIONS $STACK_HEIGHT"
    83104        JAVA="java ThrowEmpty $ITERATIONS $STACK_HEIGHT"
     105        PYTHON="./throw_empty.py $ITERATIONS $STACK_HEIGHT"
    84106        ;;
    85107raise-finally)
     
    88110        CPP=unsupported
    89111        JAVA="java ThrowFinally $ITERATIONS $STACK_HEIGHT"
     112        PYTHON="./throw_finally.py $ITERATIONS $STACK_HEIGHT"
    90113        ;;
    91114raise-other)
     
    94117        CPP="./throw-other-cpp $ITERATIONS $STACK_HEIGHT"
    95118        JAVA="java ThrowOther $ITERATIONS $STACK_HEIGHT"
     119        PYTHON="./throw_other.py $ITERATIONS $STACK_HEIGHT"
    96120        ;;
    97121*)
    98         echo "No such test." >&2
     122        echo "No such test: $TEST_CASE" >&2
    99123        exit 2
    100124        ;;
    101125esac
    102126
    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;;
     127case "$TEST_LANG" in
     128cfa-t) CALL="$CFAT";;
     129cfa-r) CALL="$CFAR";;
     130cpp) CALL="$CPP";;
     131java) CALL="$JAVA";;
     132python) CALL="$PYTHON";;
     133*)
     134        echo "No such language: $TEST_LANG" >&2
     135        exit 2
     136        ;;
    108137esac
     138
     139echo $CALL
     140
     141if [ -n "$VIEW_FILE" ]; then
     142    grep -A 1 -B 0 "$CALL" "$VIEW_FILE" | sed -n -e 's!Run-Time (ns): !!;T;p'
     143    exit
     144fi
     145
     146$CALL
Note: See TracChangeset for help on using the changeset viewer.