20 # or visit www.oracle.com if you need additional information or have any 21 # questions. 22 # 23 24 # @test 25 # @bug 6667089 26 # @summary Reflexive invocation of newly added methods broken. 27 # @author Daniel D. Daugherty 28 # 29 # @run shell MakeJAR3.sh RedefineMethodAddInvokeAgent 'Can-Redefine-Classes: true' 30 # @run build RedefineMethodAddInvokeApp 31 # @run shell RedefineMethodAddInvoke.sh 32 # 33 34 if [ "${TESTJAVA}" = "" ] 35 then 36 echo "TESTJAVA not set. Test cannot execute. Failed." 37 exit 1 38 fi 39 40 if [ "${TESTSRC}" = "" ] 41 then 42 echo "TESTSRC not set. Test cannot execute. Failed." 43 exit 1 44 fi 45 46 if [ "${TESTCLASSES}" = "" ] 47 then 48 echo "TESTCLASSES not set. Test cannot execute. Failed." 49 exit 1 50 fi 51 52 JAVAC="${TESTJAVA}"/bin/javac 53 JAVA="${TESTJAVA}"/bin/java 54 55 cp "${TESTSRC}"/RedefineMethodAddInvokeTarget_1.java \ 56 RedefineMethodAddInvokeTarget.java 57 "${JAVAC}" -d . RedefineMethodAddInvokeTarget.java 58 mv RedefineMethodAddInvokeTarget.java RedefineMethodAddInvokeTarget_1.java 59 mv RedefineMethodAddInvokeTarget.class RedefineMethodAddInvokeTarget_1.class 60 61 cp "${TESTSRC}"/RedefineMethodAddInvokeTarget_2.java \ 62 RedefineMethodAddInvokeTarget.java 63 "${JAVAC}" -d . RedefineMethodAddInvokeTarget.java 64 mv RedefineMethodAddInvokeTarget.java RedefineMethodAddInvokeTarget_2.java 65 mv RedefineMethodAddInvokeTarget.class RedefineMethodAddInvokeTarget_2.class 66 67 "${JAVA}" ${TESTVMOPTS} -javaagent:RedefineMethodAddInvokeAgent.jar \ 68 -classpath "${TESTCLASSES}" RedefineMethodAddInvokeApp > output.log 2>&1 69 cat output.log 70 71 MESG="Exception" 72 grep "$MESG" output.log 73 result=$? 74 if [ "$result" = 0 ]; then 75 echo "FAIL: found '$MESG' in the test output" 76 result=1 77 else 78 echo "PASS: did NOT find '$MESG' in the test output" 79 result=0 80 fi 81 82 exit $result | 20 # or visit www.oracle.com if you need additional information or have any 21 # questions. 22 # 23 24 # @test 25 # @bug 6667089 26 # @summary Reflexive invocation of newly added methods broken. 27 # @author Daniel D. Daugherty 28 # 29 # @run shell MakeJAR3.sh RedefineMethodAddInvokeAgent 'Can-Redefine-Classes: true' 30 # @run build RedefineMethodAddInvokeApp 31 # @run shell RedefineMethodAddInvoke.sh 32 # 33 34 if [ "${TESTJAVA}" = "" ] 35 then 36 echo "TESTJAVA not set. Test cannot execute. Failed." 37 exit 1 38 fi 39 40 if [ "${COMPILEJAVA}" = "" ] 41 then 42 COMPILEJAVA="${TESTJAVA}" 43 fi 44 echo "COMPILEJAVA=${COMPILEJAVA}" 45 46 if [ "${TESTSRC}" = "" ] 47 then 48 echo "TESTSRC not set. Test cannot execute. Failed." 49 exit 1 50 fi 51 52 if [ "${TESTCLASSES}" = "" ] 53 then 54 echo "TESTCLASSES not set. Test cannot execute. Failed." 55 exit 1 56 fi 57 58 JAVAC="${COMPILEJAVA}"/bin/javac 59 JAVA="${TESTJAVA}"/bin/java 60 61 cp "${TESTSRC}"/RedefineMethodAddInvokeTarget_1.java \ 62 RedefineMethodAddInvokeTarget.java 63 "${JAVAC}" ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d . RedefineMethodAddInvokeTarget.java 64 mv RedefineMethodAddInvokeTarget.java RedefineMethodAddInvokeTarget_1.java 65 mv RedefineMethodAddInvokeTarget.class RedefineMethodAddInvokeTarget_1.class 66 67 cp "${TESTSRC}"/RedefineMethodAddInvokeTarget_2.java \ 68 RedefineMethodAddInvokeTarget.java 69 "${JAVAC}" ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d . RedefineMethodAddInvokeTarget.java 70 mv RedefineMethodAddInvokeTarget.java RedefineMethodAddInvokeTarget_2.java 71 mv RedefineMethodAddInvokeTarget.class RedefineMethodAddInvokeTarget_2.class 72 73 "${JAVA}" ${TESTVMOPTS} -javaagent:RedefineMethodAddInvokeAgent.jar \ 74 -classpath "${TESTCLASSES}" RedefineMethodAddInvokeApp > output.log 2>&1 75 cat output.log 76 77 MESG="Exception" 78 grep "$MESG" output.log 79 result=$? 80 if [ "$result" = 0 ]; then 81 echo "FAIL: found '$MESG' in the test output" 82 result=1 83 else 84 echo "PASS: did NOT find '$MESG' in the test output" 85 result=0 86 fi 87 88 exit $result |