test/java/io/Serializable/evolution/RenamePackage/run.sh

Print this page




  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 
  24 # @test
  25 # @bug 4087295 4785472
  26 # @summary Enable resolveClass() to accommodate package renaming.
  27 # This fix enables one to implement a resolveClass method that maps a
  28 # Serialiazable class within a serialization stream to the same class
  29 # in a different package within the JVM runtime. See run shell script
  30 # for instructions on how to run this test.
  31 
  32 
  33 if [ "${TESTJAVA}" = "" ]
  34 then
  35   echo "TESTJAVA not set.  Test cannot execute.  Failed."
  36   exit 1
  37 fi
  38 




  39 
  40 OS=`uname -s`
  41 # Need to determine the classpath separator and filepath separator based on the
  42 # operating system.
  43 case "$OS" in
  44 SunOS | Linux | Darwin )
  45   PS=":"  ;;
  46 Windows* | CYGWIN* )
  47   PS=";"  ;;
  48 * )
  49   echo "Unrecognized system!"
  50   exit 1  ;;
  51 esac
  52 
  53 JAVA=${TESTJAVA}/bin/java
  54 JAVAC=${TESTJAVA}/bin/javac
  55 MKDIR=mkdir
  56 RDEL="rm -r"
  57 
  58 if [ -d ${TESTCLASSES}/oclasses ]
  59 then
  60    ${RDEL} ${TESTCLASSES}/oclasses
  61 fi
  62 if [ -d ${TESTCLASSES}/nclasses ]
  63 then
  64    ${RDEL} ${TESTCLASSES}/nclasses
  65 fi
  66 if [ -d ${TESTCLASSES}/share ]
  67 then
  68    ${RDEL} ${TESTCLASSES}/share
  69 fi
  70 if [ -f ${TESTCLASSES}/stream.ser ]
  71 then
  72    ${RDEL} ${TESTCLASSES}/stream.ser
  73 fi
  74 
  75 mkdir ${TESTCLASSES}/oclasses
  76 mkdir ${TESTCLASSES}/share
  77 mkdir ${TESTCLASSES}/nclasses
  78 
  79 # Build sources
  80 set -e
  81 ${JAVAC} -d ${TESTCLASSES}/share ${TESTSRC}/extension/ExtendedObjectInputStream.java

  82 CLASSPATH=${TESTCLASSES}/share; export CLASSPATH;
  83 ${JAVAC} -d ${TESTCLASSES}/oclasses ${TESTSRC}/test/SerialDriver.java

  84 CLASSPATH=${TESTCLASSES}/share; export CLASSPATH;
  85 ${JAVAC} -d ${TESTCLASSES}/nclasses ${TESTSRC}/install/SerialDriver.java

  86 
  87 # Run Case 1. Map test.SerialDriver within stream to install.SerialDriver.
  88 CLASSPATH="${TESTCLASSES}/oclasses${PS}${TESTCLASSES}/share"; export CLASSPATH;
  89 ${JAVA} ${TESTVMOPTS} test.SerialDriver -s
  90 CLASSPATH="${TESTCLASSES}/nclasses${PS}${TESTCLASSES}/share"; export CLASSPATH;
  91 ${JAVA} ${TESTVMOPTS} install.SerialDriver -d
  92 rm stream.ser
  93 
  94 # Run Case 2. Map install.SerialDriver within stream to test.SerialDriver.
  95 CLASSPATH="${TESTCLASSES}/nclasses${PS}${TESTCLASSES}/share"; export CLASSPATH;
  96 ${JAVA} ${TESTVMOPTS} install.SerialDriver -s
  97 CLASSPATH="${TESTCLASSES}/oclasses${PS}${TESTCLASSES}/share"; export CLASSPATH;
  98 ${JAVA} ${TESTVMOPTS} test.SerialDriver -d


  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 
  24 # @test
  25 # @bug 4087295 4785472
  26 # @summary Enable resolveClass() to accommodate package renaming.
  27 # This fix enables one to implement a resolveClass method that maps a
  28 # Serialiazable class within a serialization stream to the same class
  29 # in a different package within the JVM runtime. See run shell script
  30 # for instructions on how to run this test.
  31 
  32 
  33 if [ "${TESTJAVA}" = "" ]
  34 then
  35   echo "TESTJAVA not set.  Test cannot execute.  Failed."
  36   exit 1
  37 fi
  38 
  39 if [ "${COMPILEJAVA}" = "" ] ; then
  40   COMPILEJAVA="${TESTJAVA}"
  41 fi
  42 
  43 
  44 OS=`uname -s`
  45 # Need to determine the classpath separator and filepath separator based on the
  46 # operating system.
  47 case "$OS" in
  48 SunOS | Linux | Darwin )
  49   PS=":"  ;;
  50 Windows* | CYGWIN* )
  51   PS=";"  ;;
  52 * )
  53   echo "Unrecognized system!"
  54   exit 1  ;;
  55 esac
  56 
  57 JAVA=${TESTJAVA}/bin/java
  58 JAVAC=${COMPILEJAVA}/bin/javac
  59 MKDIR=mkdir
  60 RDEL="rm -r"
  61 
  62 if [ -d ${TESTCLASSES}/oclasses ]
  63 then
  64    ${RDEL} ${TESTCLASSES}/oclasses
  65 fi
  66 if [ -d ${TESTCLASSES}/nclasses ]
  67 then
  68    ${RDEL} ${TESTCLASSES}/nclasses
  69 fi
  70 if [ -d ${TESTCLASSES}/share ]
  71 then
  72    ${RDEL} ${TESTCLASSES}/share
  73 fi
  74 if [ -f ${TESTCLASSES}/stream.ser ]
  75 then
  76    ${RDEL} ${TESTCLASSES}/stream.ser
  77 fi
  78 
  79 mkdir ${TESTCLASSES}/oclasses
  80 mkdir ${TESTCLASSES}/share
  81 mkdir ${TESTCLASSES}/nclasses
  82 
  83 # Build sources
  84 set -e
  85 ${JAVAC} ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${TESTCLASSES}/share \
  86     ${TESTSRC}/extension/ExtendedObjectInputStream.java
  87 CLASSPATH=${TESTCLASSES}/share; export CLASSPATH;
  88 ${JAVAC} ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${TESTCLASSES}/oclasses \
  89     ${TESTSRC}/test/SerialDriver.java
  90 CLASSPATH=${TESTCLASSES}/share; export CLASSPATH;
  91 ${JAVAC} ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -d ${TESTCLASSES}/nclasses \
  92     ${TESTSRC}/install/SerialDriver.java
  93 
  94 # Run Case 1. Map test.SerialDriver within stream to install.SerialDriver.
  95 CLASSPATH="${TESTCLASSES}/oclasses${PS}${TESTCLASSES}/share"; export CLASSPATH;
  96 ${JAVA} ${TESTVMOPTS} test.SerialDriver -s
  97 CLASSPATH="${TESTCLASSES}/nclasses${PS}${TESTCLASSES}/share"; export CLASSPATH;
  98 ${JAVA} ${TESTVMOPTS} install.SerialDriver -d
  99 rm stream.ser
 100 
 101 # Run Case 2. Map install.SerialDriver within stream to test.SerialDriver.
 102 CLASSPATH="${TESTCLASSES}/nclasses${PS}${TESTCLASSES}/share"; export CLASSPATH;
 103 ${JAVA} ${TESTVMOPTS} install.SerialDriver -s
 104 CLASSPATH="${TESTCLASSES}/oclasses${PS}${TESTCLASSES}/share"; export CLASSPATH;
 105 ${JAVA} ${TESTVMOPTS} test.SerialDriver -d