RFR: 8320750: Allow a testcase to run with muliple -Xlog

Leo Korinth lkorinth at openjdk.org
Tue Nov 28 14:14:28 UTC 2023


Running a testcase with muliple -Xlog crashes JTREG test cases. This is because `Collector.toMap` is not given a merge strategy.

When the same argument is passed multiple times, I have added a merge strategy to use the latter value. This is similar to how it is implemented for `vm.opt.*` in JTREG.

If the flag tested is `-Xlog`, replace the value part with a dummy value "NONEMPTY_TEST_SENTINEL". This is because in the case of multiple `-Xlog` all values are used, and JTREG does not give a satisfactory way to represent them. This dummy value should make it hard to try to `@require` on specific values by mistake.

Tested with:

 @requires vm.opt.x.Xlog == "NONEMPTY_TEST_SENTINEL"
 @requires vm.opt.x.Xlog == "NONEMPTY_TEST_SENTINELXXX"
 @requires vm.opt.x.Xms == "3g"

and

JAVA_OPTIONS=-Xms3g -Xms4g
JAVA_OPTIONS=-Xms4g -Xms3g
JAVA_OPTIONS=-Xlog:gc* -Xlog:gc*
``` 

Running tier1

-------------

Commit messages:
 - 8320750: Allow a testcase to run with muliple -Xlog

Changes: https://git.openjdk.org/jdk/pull/16824/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16824&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8320750
  Stats: 10 lines in 1 file changed: 6 ins; 0 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/16824.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16824/head:pull/16824

PR: https://git.openjdk.org/jdk/pull/16824


More information about the hotspot-dev mailing list