8266165: TestNoWarningLoopStripMiningIterSet is runnable only on VM w/ G1, Shenandoah, Z and Epsilon

Reviewed-by: roland
This commit is contained in:
Igor Ignatyev 2021-04-28 16:30:27 +00:00
parent 8954befd77
commit c71c26859f

View File

@ -22,16 +22,50 @@
*/
/*
* @test
* @test id=G1
* @bug 8241486
* @summary G1/Z give warning when using LoopStripMiningIter and turn off LoopStripMiningIter (0)
* @requires vm.flagless
* @requires vm.flavor == "server" & !vm.graal.enabled
* @requires vm.gc.G1 & vm.gc.Shenandoah & vm.gc.Z & vm.gc.Epsilon
* @requires vm.gc.G1
* @library /test/lib
* @run driver TestNoWarningLoopStripMiningIterSet
* @run driver TestNoWarningLoopStripMiningIterSet G1
*/
/*
* @test id=Shenandoah
* @bug 8241486
* @summary G1/Z give warning when using LoopStripMiningIter and turn off LoopStripMiningIter (0)
* @requires vm.flagless
* @requires vm.flavor == "server" & !vm.graal.enabled
* @requires vm.gc.Shenandoah
* @library /test/lib
* @run driver TestNoWarningLoopStripMiningIterSet Shenandoah
*/
/*
* @test id=Z
* @bug 8241486
* @summary G1/Z give warning when using LoopStripMiningIter and turn off LoopStripMiningIter (0)
* @requires vm.flagless
* @requires vm.flavor == "server" & !vm.graal.enabled
* @requires vm.gc.Z
* @library /test/lib
* @run driver TestNoWarningLoopStripMiningIterSet Z
*/
/*
* @test id=Epsilon
* @bug 8241486
* @summary G1/Z give warning when using LoopStripMiningIter and turn off LoopStripMiningIter (0)
* @requires vm.flagless
* @requires vm.flavor == "server" & !vm.graal.enabled
* @requires vm.gc.Epsilon
* @library /test/lib
* @run driver TestNoWarningLoopStripMiningIterSet Epsilon
*/
import jdk.test.lib.Asserts;
import jdk.test.lib.process.ProcessTools;
import jdk.test.lib.process.OutputAnalyzer;
@ -60,11 +94,10 @@ public class TestNoWarningLoopStripMiningIterSet {
}
public static void main(String[] args) throws Exception {
for (String gc : List.of("-XX:+UseG1GC", "-XX:+UseZGC", "-XX:+UseShenandoahGC", "-XX:+UseEpsilonGC")) {
testWith(output -> output.shouldNotContain(CLSOffLSMGreaterZero), "should have CLS and LSM enabled", true, 100, "-XX:LoopStripMiningIter=100", gc);
testWith(output -> output.shouldContain(CLSOffLSMGreaterZero), "should have CLS and LSM disabled", false, 0, "-XX:-UseCountedLoopSafepoints", "-XX:LoopStripMiningIter=100", gc);
testWith(output -> output.shouldContain(CLSOnLSMEqualZero), "should have CLS and LSM enabled", true, 1, "-XX:LoopStripMiningIter=0", gc);
testWith(output -> output.shouldNotContain(CLSOnLSMEqualZero), "should have CLS and LSM disabled", false, 0, "-XX:-UseCountedLoopSafepoints", "-XX:LoopStripMiningIter=0", gc);
}
String gc = "-XX:+Use" + args[0] + "GC";
testWith(output -> output.shouldNotContain(CLSOffLSMGreaterZero), "should have CLS and LSM enabled", true, 100, "-XX:LoopStripMiningIter=100", gc);
testWith(output -> output.shouldContain(CLSOffLSMGreaterZero), "should have CLS and LSM disabled", false, 0, "-XX:-UseCountedLoopSafepoints", "-XX:LoopStripMiningIter=100", gc);
testWith(output -> output.shouldContain(CLSOnLSMEqualZero), "should have CLS and LSM enabled", true, 1, "-XX:LoopStripMiningIter=0", gc);
testWith(output -> output.shouldNotContain(CLSOnLSMEqualZero), "should have CLS and LSM disabled", false, 0, "-XX:-UseCountedLoopSafepoints", "-XX:LoopStripMiningIter=0", gc);
}
}