diff options
author | wisberg <wisberg> | 2002-12-16 18:51:06 +0000 |
---|---|---|
committer | wisberg <wisberg> | 2002-12-16 18:51:06 +0000 |
commit | 144143c2970a1e874d74cdbd0f8c622d4282a3c3 (patch) | |
tree | b12383d3d9e76c7e1f25f7fbec83051ef17f81fb /tests/harness/directTester.sh | |
parent | fafae443719b26159ab2d7dac1c9b46b5e00b671 (diff) | |
download | aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.tar.gz aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.zip |
initial version
Diffstat (limited to 'tests/harness/directTester.sh')
-rw-r--r-- | tests/harness/directTester.sh | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/harness/directTester.sh b/tests/harness/directTester.sh new file mode 100644 index 000000000..5315ceae6 --- /dev/null +++ b/tests/harness/directTester.sh @@ -0,0 +1,77 @@ +#!/bin/sh
+# syntax: <mainFile> {file}...
+# info: compile files and run mainFile class (with Tester classes)
+# requires JDKDIR and build output be available
+
+[ -n "$DEBUG" ] && set -vx
+pathtojava() {
+ echo "$1" | sed 's|/cygdrive/\(c\)/|\1:/|' # todo
+}
+errMssg() {
+ echo "## $0 Error: $1"
+ if [ -n "$2" ] ; then exit "$2" ; fi
+}
+
+sourcesRunningInNew() {
+ cat<<EOF
+InnerInterfaceNames.java
+InnerInterfaceAccess.java
+PR691.java
+AroundDoubleAssignment.java
+AroundDoubleAssignmentC.java
+AroundChangeThis.java
+PointcutQualification.java
+PointcutQualification2.java
+AbstractPointcutAccess.java
+SourceLocationCall.java
+CallNotTarget.java
+AroundCall.java
+ArgsInCflow2.java
+FactorialCflow.java
+ArrayInc.java
+TargetObjectReplacement.java
+EOF
+}
+
+runAjc() {
+ "$JDKDIR/bin/java" -classpath "$compilerJar" org.aspectj.tools.ajc.Main \
+ -d "$classesDir" -classpath "$rtJar${PS}$clientJar" "${@}"
+}
+runJava() {
+ "$JDKDIR/bin/java" -classpath "$rtJar${PS}$clientJar${PS}$classesDir" "${@}"
+}
+
+if [ -n "$PS" ] ; then
+ case `uname` in
+ CYGWIN* ) PS=";" ;;
+ * ) PS=":" ;;
+ esac
+fi
+
+scriptDir=`dirname "$0"`
+scriptDir=`cd "$scriptDir"; pwd`
+java="$JDKDIR/bin/java"
+[ -x "$java" ] || errMssg "no java=$java"
+ajJarsDir=`cd "$scriptDir/../../../aj-build-modules/jars"; pwd`
+ajJarsDirJ=`pathtojava "$ajJarsDir"`
+
+clientJar="$ajJarsDirJ/testing-client.jar"
+compilerJar="${compilerJar:-ajJarsDirJ/alltesting.jar}"
+rtJar="$ajJarsDirJ/runtime.jar"
+classesDir=cl
+[ -f "$clientJar" ] || errMssg "no clientJar=$clientJar" 4
+[ -f "$rtJar" ] || errMssg "no rtJar=$rtJar" 4
+
+cd "$scriptDir/../new" || errMssg "no new directory" 4
+mkdir "$classesDir"
+sources="${@:-`sourcesRunningInNew`}"
+for srcFile in $sources ; do
+ [ -f "$srcFile" ] || errMssg "no srcFile=$srcFile" 4
+ className=`echo "$srcFile" | sed 's|\/|.|g;s|\.java||'`
+ [ -n "$className" ] || errMssg "no className" 4
+ rm -rf "$classesDir"/*
+ runAjc "${srcFile}"
+ runJava $className || echo '<<<< FAIL '"$srcFile"
+done
+rm -rf "$classesDir"
+
|