#!/bin/sh if [[ $# -lt 2 ]]; then echo "USAGE: $0 " exit fi . bin/011-colors.sh FLAVOUR=$1 BENCHMARK=$2 TRACEDIR=$3 if [[ ! -d $BENCHMARK ]]; then echo "ERROR: unknown benchmark: $BENCHMARK" exit fi if [ -z "$TRACEDIR" ]; then TRACEDIR=/export/nobackup/localhost/tmp/cgoard/traces fi #JVMPI is broken in later Java versions export JAVA_HOME=$HOME/opt/j2sdk1.4.0_04 LIB=${PWD}/lib pushd $BENCHMARK > /dev/null case $FLAVOUR in ajc12) export CLASSPATH=${LIB}/aspectjrt-1.2.0.jar:classes.$FLAVOUR ;; ajc12soot) export CLASSPATH=${LIB}/aspectjrt-1.2.0.jar:classes.$FLAVOUR ;; cajc) export CLASSPATH=${LIB}/aspectjrt-cajc.jar:classes.$FLAVOUR ;; cajcsoot) export CLASSPATH=${LIB}/aspectjrt-cajc.jar:classes.$FLAVOUR ;; ajc12stock) export CLASSPATH=${LIB}/aspectjrt-1.2.0.jar:classes.$FLAVOUR ;; ajc121stock) export CLASSPATH=${LIB}/aspectjrt-stock-1.2.1.jar:classes.$FLAVOUR ;; abc) ABC_HOME=${HOME}/src/abc-tag-1.0.2 export CLASSPATH=$ABC_HOME/lib/abc-runtime.jar:classes.$FLAVOUR ;; abcO3) export CLASSPATH=${LIB}/abc-O3-complete.jar:classes.$FLAVOUR ;; *) echo "ERROR: unknown flavour: $FLAVOUR" exit ;; esac [ -f benchmarkName ] && NAME="`cat benchmarkName`" [ ! -d results ] && mkdir -p results ((../bin/analyze -name $NAME -tracedir $TRACEDIR.$FLAVOUR -flavour $FLAVOUR -cp $CLASSPATH `cat mainClass` | tee results/stdout.$FLAVOUR.log) 3>&1 1>&2 2>&3 | tee results/stderr.$FLAVOUR.log) 3>&1 1>&2 2>&3