Olivier Lagneau c25dd16233 7142596: RMI JPRT tests are failing
Changed RMI tests to use random port numbers for the RMI Registry and RMID so the tests can be run concurrently without test failures due to tests using the same port numbers.

Reviewed-by: smarks, alanb
2012-07-17 11:01:44 -07:00
..
2007-12-01 00:00:00 +00:00
2012-07-17 11:01:44 -07:00

######################################################################## 
# This file contains example scripts and property files for collecting 
# code coverage data of the RMI regression suite.
#
# Since many RMI regression tests spawn child VMs (either directly
# or through activation), special support is required for setting
# command line options and arguments needed by jcov - the code coverage 
# instrumentation and collection tool.  This special support is provided
# by properties in the test.props file.  If a file named ../../test.props 
# exists (assuming the working directory is "<path>/JTwork/scratch", this
# will find "<path>/test.props"), then it will be used by test library 
# code that spawns VMs or instances of rmid.  See the example test.props
# file below for the properties that may be defined.


######################################################################## 
# The following is a script used to execute RMI regression tests 
# on Solaris and collect code coverage data.

#!/bin/ksh
export JAVA_HOME=<path to special JDK jcov instrumented build>
export JT_HOME=<path to special JTREG build with jcov hooks>
export CLASSPATH=.:${JT_HOME}/javatest.jar
export OPTS="-Xms256m -Xmx256m -XX:+UseUnsupportedDeprecatedJVMPI -XX:+EnableJVMPIInstructionStartEvent -XX:-UseFastEmptyMethods -XX:-UseFastAccessorMethods -timeoutFactor:4"
export TESTBASE=/files/<JDK workspace>/test
${JT_HOME}/solaris/bin/jtreg -Xrunjcov:file=/files/rmi.jcov ${OPTS} -va -w:/tmp/JT -r:/tmp/JTreport -jdk:${JAVA_HOME} ${TESTBASE}


########################################################################
# The following section is an example test.props property file
# used for collecting code coverage data for JDK 1.6.  These properties
# are currently supported:
#   jcov.options are the jcov options that should be added to VMs
#                system properties
#   rmid.jcov.args are the jcov options that should be added as
#                  arguments to rmid command line; effectively, these
#                  are identical to jcov.options but each option is
#                  prefaced with '-C'
#   jcov.sleep.multiplier is an integer that will be multiplied by
#                         various wait times in the test library; the
#                         default value used is '1'

jcov.options=-Xrunjcov:file=/files/rmi.jcov -Xms256m -Xmx256m -XX:+UseUnsupportedDeprecatedJVMPI -XX:+EnableJVMPIInstructionStartEvent -XX:-UseFastEmptyMethods -XX:-UseFastAccessorMethods

rmid.jcov.args=-C-Xrunjcov:file=/files/rmi.jcov -C-Xms256m -C-Xmx256m -C-XX:+UseUnsupportedDeprecatedJVMPI -C-XX:+EnableJVMPIInstructionStartEvent -C-XX:-UseFastEmptyMethods -C-XX:-UseFastAccessorMethods

jcov.sleep.multiplier=3


########################################################################
# The following section is an example script that generates the
# jcov report.  The important documentation here is the list of Java
# packages and classes that are included in the RMI coverage report.

#!/bin/ksh

export CLASSPATH=<path to jcov.jar>
export SRCS=<path to sources of the instrumented JDK build>
java com.sun.tdk.jcov.MergerMain <path to jcov 'A' template for the build>template_a.jcov /files/rmi.jcov
java -Xms256m -Xmx512m com.sun.tdk.jcov.RepGenMain -fmt=html_ns -src_root=${SRCS} \
        -include=java.rmi.* \
        -include=java.rmi.activation.* \
        -include=java.rmi.dgc.* \
        -include=java.rmi.registry.* \
        -include=java.rmi.server.* \
        -include=sun.rmi.log.* \
        -include=sun.rmi.registry.* \
        -include=sun.rmi.runtime.* \
        -include=sun.rmi.server.* \
        -include=sun.rmi.transport.* \
        -include=sun.rmi.transport.proxy.* \
        -include=sun.rmi.transport.tcp.* \
        -include=java.lang.reflect.Proxy \
        -include=sun.misc.ProxyGenerator \
        -exclude=com.sun.rmi.rmid.* \
        -exclude=sun.rmi.rmic.* \
        -exclude=sun.rmi.rmic.iiop.* \
        -exclude=javax.rmi.ssl.* \
        java.jcov