RFR: Test @requires should check what GC is enabled at runtime

Roman Kennke rkennke at redhat.com
Fri Nov 30 15:03:23 UTC 2018


Hi Aleksey,

> http://cr.openjdk.java.net/~shade/shenandoah/requires-runtime/webrev.01/
> 
> This rewires our @requires handling again! @requires is messy, and new filtering code is based on
> understanding that:
>  a) "vm.gc.Shenandoah" says "Shenandoah is available in builds, and can be selected"
>  b) "vm.gc == null" says "...and we are running with default GC"
>  c) "vm.gc = Shenandoah" says "...or user specified -XX:+UseShenandoahGC in jtreg opts"

I assume that what you say is true :-) But...

doesn't this mean that for our own tests, under gc/shenandoah, it is ok
& sufficient to have: @requires vm.gc.Shenandoah ? Because if it's
available in build, we can run the test, and then we set
-XX:+UseShenandoahGC ?

The other two seem useful only if GC is selected & set by harness.

What am I missing?

Roman

> ...which makes all tests that set -XX:+UseShenandoahGC gain the filter like:
>  @requires vm.gc.Shenandoah & (vm.gc == "null" | vm.gc == "Shenandoah")
> 
> Testing: hotspot_gc_shenandoah with:
>   - -shenandoahgc build
>   - +shenandoahgc build
>   - +shenandoahgc build, TEST_VM_OPTS="-XX:+UseShenandoahGC"
>   - +shenandoahgc build, TEST_VM_OPTS="-XX:+UseParallelGC"
> 
> Thanks,
> -Aleksey
> 



More information about the shenandoah-dev mailing list