c25dd16233
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
######################################################################## # 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