#!/bin/sh # @testcase public introductions not visible in libraries given to javac or jikes # @testcase synthetic members should not be visible from libraries given to ajc todo?? # @process-test ajc publicIntroduction.sh # two testcase for public introductions [ -n "$DEBUG" ] && set -vx echo "before running: define (install) AJ_BASE and add #!/bin/sh to scripts" scriptDir=`dirname "$0"` scriptName=`basename "$0" .sh` tempDir=temp${scriptName} JDKDIR="${JDKDIR:-${JAVA_HOME:-`type java | sed -n '/bin\/java/s|/bin/java.*||p'`}}" AJ_BASE="${AJ_BASE:-`type ajc | sed -n '/bin\/ajc/s|/bin/ajc.*||p'`}" ajLib="${AJ_BASE}/lib/aspectjrt.jar" PS="${PS:-;}" # todo errMssg() { [ -n "$1" ] && echo "## FAIL: $1" [ -n "$2" ] && exit "$2" } makeSources() { cat > Javap.java< Target.java < user/TargetUser.java< $cmdName.txt 2>&1 \ || errMssg "$cmdName: `cat $cmdName.txt`" 3 cmdName=javap "$JDKDIR/bin/javap" -classpath "$ajLib${PS}classes" Javap \ > $cmdName.txt 2>&1 \ || errMssg "$cmdName: `cat $cmdName.txt`" 3 # javac case - PR#646 cmdName=ajc "$AJ_BASE/bin/ajc" -classpath "$ajLib" \ -d classes Target.java \ > $cmdName.txt 2>&1 \ || errMssg "$cmdName: `cat ../$cmdName.txt`" 3 cd user cmdName=../javac "$JDKDIR/bin/javac" -classpath ../classes -d ../classes TargetUser.java \ > $cmdName.txt 2>&1 \ || errMssg "$cmdName: `cat $cmdName.txt`" 3 cd .. cmdName=java "$JDKDIR/bin/java" -classpath "$ajLib${PS}classes" TargetUser \ > $cmdName.txt 2>&1 \ || errMssg "$cmdName: `cat $cmdName.txt`" 3 cd "$curdir" rm -rf "$tempDir" echo "tests passed if they got to this point..."