test/java/lang/instrument/RedefineMethodAddInvoke.sh

Print this page




  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