< prev index next >
test/gc/shenandoah/options/TestArgumentRanges.java
Print this page
rev 10789 : [backport] Drop Shenandoah from test names
*** 1,7 ****
/*
! * Copyright (c) 2016 Red Hat, Inc. and/or its affiliates.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
--- 1,7 ----
/*
! * Copyright (c) 2016, 2018, Red Hat, Inc. All rights reserved.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
*** 20,104 ****
* questions.
*
*/
/*
! * @test TestShenandoahArgumentRanges
* @summary Test that Shenandoah arguments are checked for ranges where applicable
* @key gc
* @library /testlibrary
! * @modules java.base/jdk.internal.misc
! * java.management
! * @run driver TestShenandoahArgumentRanges
*/
import com.oracle.java.testlibrary.*;
! public class TestShenandoahArgumentRanges {
public static void main(String[] args) throws Exception {
testRange("ShenandoahGarbageThreshold", 0, 100);
testRange("ShenandoahFreeThreshold", 0, 100);
testRange("ShenandoahAllocationThreshold", 0, 100);
testHeuristics();
}
private static void testHeuristics() throws Exception {
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC",
! "-XX:+UnlockDiagnosticVMOptions",
"-XX:+UnlockExperimentalVMOptions",
"-XX:ShenandoahGCHeuristics=aggressive",
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
}
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC",
! "-XX:+UnlockDiagnosticVMOptions",
"-XX:+UnlockExperimentalVMOptions",
"-XX:ShenandoahGCHeuristics=static",
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
}
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC",
! "-XX:+UnlockDiagnosticVMOptions",
"-XX:+UnlockExperimentalVMOptions",
"-XX:ShenandoahGCHeuristics=fluff",
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldMatch("Unknown -XX:ShenandoahGCHeuristics option");
output.shouldHaveExitValue(1);
}
}
private static void testRange(String option, int min, int max) throws Exception {
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC",
"-XX:" + option + "=" + (max + 1),
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(1);
}
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC",
"-XX:" + option + "=" + max,
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
}
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC",
"-XX:" + option + "=" + (min - 1),
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(1);
}
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseShenandoahGC",
"-XX:" + option + "=" + min,
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
}
--- 20,111 ----
* questions.
*
*/
/*
! * @test TestArgumentRanges
* @summary Test that Shenandoah arguments are checked for ranges where applicable
* @key gc
* @library /testlibrary
! *
! * @run driver TestArgumentRanges
*/
import com.oracle.java.testlibrary.*;
! public class TestArgumentRanges {
public static void main(String[] args) throws Exception {
testRange("ShenandoahGarbageThreshold", 0, 100);
testRange("ShenandoahFreeThreshold", 0, 100);
testRange("ShenandoahAllocationThreshold", 0, 100);
testHeuristics();
}
private static void testHeuristics() throws Exception {
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions",
"-XX:+UnlockExperimentalVMOptions",
+ "-XX:+UseShenandoahGC",
"-XX:ShenandoahGCHeuristics=aggressive",
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
}
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions",
"-XX:+UnlockExperimentalVMOptions",
+ "-XX:+UseShenandoahGC",
"-XX:ShenandoahGCHeuristics=static",
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
}
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions",
"-XX:+UnlockExperimentalVMOptions",
+ "-XX:+UseShenandoahGC",
"-XX:ShenandoahGCHeuristics=fluff",
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldMatch("Unknown -XX:ShenandoahGCHeuristics option");
output.shouldHaveExitValue(1);
}
}
private static void testRange(String option, int min, int max) throws Exception {
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions",
! "-XX:+UnlockExperimentalVMOptions",
! "-XX:+UseShenandoahGC",
"-XX:" + option + "=" + (max + 1),
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(1);
}
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions",
! "-XX:+UnlockExperimentalVMOptions",
! "-XX:+UseShenandoahGC",
"-XX:" + option + "=" + max,
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
}
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions",
! "-XX:+UnlockExperimentalVMOptions",
! "-XX:+UseShenandoahGC",
"-XX:" + option + "=" + (min - 1),
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(1);
}
{
! ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UnlockDiagnosticVMOptions",
! "-XX:+UnlockExperimentalVMOptions",
! "-XX:+UseShenandoahGC",
"-XX:" + option + "=" + min,
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
}
< prev index next >