######################################################################## # 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 "/JTwork/scratch", this # will find "/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= export JT_HOME= export CLASSPATH=.:${JT_HOME}/javatest.jar export OPTS="-Xms256m -Xmx256m -XX:+UseUnsupportedDeprecatedJVMPI -XX:+EnableJVMPIInstructionStartEvent -XX:-UseFastEmptyMethods -XX:-UseFastAccessorMethods -timeoutFactor:4" export TESTBASE=/files//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= export SRCS= java com.sun.tdk.jcov.MergerMain 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=javax.rmi.ssl.* \ java.jcov