RFR: 8290023: Remove use of IgnoreUnrecognizedVMOptions in gc tests

Kim Barrett kbarrett at openjdk.org
Mon Jul 11 18:19:51 UTC 2022


On Mon, 11 Jul 2022 07:39:02 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:

> Hi all,
> 
>   can I have reviews for removal of the use of `-XX:+IgnoreUnrecognizedVMOptions` for gc tests?
> 
> As per [JDK-8228493](https://bugs.openjdk.org/browse/JDK-8228493) use of that option has drawbacks wrt to test reliability, so trying to remove them by
> * duplicating `@test` blocks (mostly sme Shenandoah tests as I could not find a good way for them)
> * adding additional `@requires`
> * removing it in tests where it is not actually required
> 
> Testing: gha, running tests
> 
> Thanks,
>   Thomas

Changes requested by kbarrett (Reviewer).

test/hotspot/jtreg/gc/epsilon/TestAlignment.java line 40:

> 38:  *                   gc.epsilon.TestAlignment
> 39:  */
> 40: /**

Insert blank line.

test/hotspot/jtreg/gc/epsilon/TestAlignment.java line 41:

> 39:  */
> 40: /**
> 41:  * @test TestMaxTLAB

Wrong test name.

test/hotspot/jtreg/gc/g1/TestLargePageUseForAuxMemory.java line 121:

> 119:                                                  "-XX:" + (largePageEnabled ? "+" : "-") + "UseLargePages" });
> 120:         if (Platform.is64bit()) {
> 121:             vmOpts.add("-XX:ObjectAlignmentInBytes=8");

As 8 is the default value, I'm not sure why this option is being added.

test/hotspot/jtreg/gc/g1/TestVerificationInConcurrentCycle.java line 47:

> 45:  * @test TestVerificationInConcurrentCycle
> 46:  * @requires vm.gc.G1
> 47:  * @requires !vm.debug

Maybe add a comment that this leaves out debug-only G1VerifyBitmaps.

test/hotspot/jtreg/gc/metaspace/TestMetaspacePerfCounters.java line 100:

> 98:  */
> 99: 
> 100: /* @test TestMetaspacePerfCountersSerial

I think that throughout this test could use the new-ish `@test id=XXX` feature, so this could be `@test id=Serial32` and the earlier one for 64 bit could be `@test id=Serial64`.  This would give more information in failure report summaries.

test/hotspot/jtreg/gc/metaspace/TestMetaspacePerfCounters.java line 155:

> 153:  * @run main/othervm -XX:+UsePerfData -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC gc.metaspace.TestMetaspacePerfCounters
> 154:  */
> 155: 

Is this file missing entries for Epsilon?  That could be a followup RFE if appropriate.

test/hotspot/jtreg/gc/shenandoah/options/TestSelectiveBarrierFlags.java line 40:

> 38:  *          of barrier flags
> 39:  * @requires vm.gc.Shenandoah
> 40:  * @requires !vm.debug

Seems like it might be a bit simpler to have one `@test` with the first two `@run` lines and no `@requires` on `vm.debug`, and a second (debug-only) `@test` with the third `@run`.

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

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



More information about the hotspot-gc-dev mailing list