RFR: JDK-8003890: modify test scripts to pass VMOPTIONS (original) (raw)

Stuart Marks stuart.marks at oracle.com
Mon Dec 10 23:48:28 UTC 2012


On 12/10/12 3:25 AM, Alan Bateman wrote:

On 10/12/2012 11:13, Chris Hegarty wrote:

Thank you Mark, this is a really useful contribution.

I noticed that a few tests (below) specify either -client or -server. If the vmoptions contain either of these arguments, and this seems to be the way our test/Makefile is passing them, then it may result in the test using the wrong vm. I think we should remove TESTVMOPTS from these tests, but then we lose other potential opts, like heap size, etc. java/rmi/reliability/benchmark/runRmiBench.sh java/rmi/reliability/benchmark/runSerialBench.sh sun/management/jmxremote/startstop/JMXStartStopTest.sh You're right, this will cause conflict. In the case of JMXStartStopTest.sh and runSerialBench.sh then it might be better to remove the -server. Stuart might have an opinion on runRmiBench.sh but one idea is to change is so that when run interactively (TESTJAVA not set) then it works as it does now and runs the benchmark twice. If TESTJAVA is not set then it runs the benchmark once, with whatever VM options are in use.

For runRmiBench.sh the benchmark actually runs two JVMs, one as the RMI server and the other as the RMI client. Note that -client and -server are passed as arguments to the bench.rmi.Main start-class, which causes them to behave differently. I'm wondering if whoever wrote the script originally confused the arguments to Main with the arguments to the JVMs. Or, perhaps some tenuous line of reasoning was used, such as "the RMI server is probably running on a server and so should be running the server VM, and same for the RMI client."

So, I think that the JVM -server and -client args should be replaced by $TESTVMOPTS. But of course please leave -server and -client args to the Main class unchanged.

(Note, the runRmiBench.sh test is currently on the problem list so it's not run right now anyway.)

For runSerialBench.sh, yes, I think removing -server and adding $TESTVMOPTS is the right thing.


I've looked over the test/java/io/Serializable and the test/java/rmi changes and they look fine. I haven't looked at the other changes though. I can look at more files too if you need to spread out the reviewing load.

s'marks



More information about the core-libs-dev mailing list