8243565: some gc tests use 'test.java.opts' and not 'test.vm.opts'
Reviewed-by: stefank
This commit is contained in:
parent
e0f46d0cb6
commit
d84e4f1fd6
test/hotspot/jtreg/gc
@ -29,7 +29,7 @@ package gc;
|
||||
* @requires vm.gc != "Z" & os.family != "aix"
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @run main gc.TestAllocateHeapAt
|
||||
* @run driver gc.TestAllocateHeapAt
|
||||
*/
|
||||
|
||||
import jdk.test.lib.JDKToolFinder;
|
||||
@ -40,28 +40,15 @@ import java.util.Collections;
|
||||
|
||||
public class TestAllocateHeapAt {
|
||||
public static void main(String args[]) throws Exception {
|
||||
ArrayList<String> vmOpts = new ArrayList<>();
|
||||
|
||||
String testVmOptsStr = System.getProperty("test.java.opts");
|
||||
if (!testVmOptsStr.isEmpty()) {
|
||||
String[] testVmOpts = testVmOptsStr.split(" ");
|
||||
Collections.addAll(vmOpts, testVmOpts);
|
||||
}
|
||||
String test_dir = System.getProperty("test.dir", ".");
|
||||
Collections.addAll(vmOpts, new String[] {"-XX:AllocateHeapAt=" + test_dir,
|
||||
"-Xlog:gc+heap=info",
|
||||
"-Xmx32m",
|
||||
"-Xms32m",
|
||||
"-version"});
|
||||
String[] flags = {
|
||||
"-XX:AllocateHeapAt=" + test_dir,
|
||||
"-Xlog:gc+heap=info",
|
||||
"-Xmx32m",
|
||||
"-Xms32m",
|
||||
"-version"};
|
||||
|
||||
System.out.print("Testing:\n" + JDKToolFinder.getJDKTool("java"));
|
||||
for (int i = 0; i < vmOpts.size(); i += 1) {
|
||||
System.out.print(" " + vmOpts.get(i));
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(vmOpts.toArray(new String[vmOpts.size()]));
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flags);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
||||
System.out.println("Output:\n" + output.getOutput());
|
||||
|
@ -29,26 +29,16 @@ package gc;
|
||||
* @requires vm.gc != "Z" & os.family != "aix"
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @run main gc.TestAllocateHeapAtError
|
||||
* @run driver gc.TestAllocateHeapAtError
|
||||
*/
|
||||
|
||||
import java.io.File;
|
||||
import jdk.test.lib.JDKToolFinder;
|
||||
import jdk.test.lib.process.ProcessTools;
|
||||
import jdk.test.lib.process.OutputAnalyzer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.UUID;
|
||||
|
||||
public class TestAllocateHeapAtError {
|
||||
public static void main(String args[]) throws Exception {
|
||||
ArrayList<String> vmOpts = new ArrayList<>();
|
||||
|
||||
String testVmOptsStr = System.getProperty("test.java.opts");
|
||||
if (!testVmOptsStr.isEmpty()) {
|
||||
String[] testVmOpts = testVmOptsStr.split(" ");
|
||||
Collections.addAll(vmOpts, testVmOpts);
|
||||
}
|
||||
String test_dir = System.getProperty("test.dir", ".");
|
||||
|
||||
File f = null;
|
||||
@ -56,20 +46,14 @@ public class TestAllocateHeapAtError {
|
||||
f = new File(test_dir, UUID.randomUUID().toString());
|
||||
} while(f.exists());
|
||||
|
||||
Collections.addAll(vmOpts, new String[] {"-XX:AllocateHeapAt=" + f.getName(),
|
||||
"-Xlog:gc+heap=info",
|
||||
"-Xmx32m",
|
||||
"-Xms32m",
|
||||
"-version"});
|
||||
String[] flags = {
|
||||
"-XX:AllocateHeapAt=" + f.getName(),
|
||||
"-Xlog:gc+heap=info",
|
||||
"-Xmx32m",
|
||||
"-Xms32m",
|
||||
"-version"};
|
||||
|
||||
System.out.print("Testing:\n" + JDKToolFinder.getJDKTool("java"));
|
||||
for (int i = 0; i < vmOpts.size(); i += 1) {
|
||||
System.out.print(" " + vmOpts.get(i));
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(vmOpts.toArray(new String[vmOpts.size()]));
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flags);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
||||
System.out.println("Output:\n" + output.getOutput());
|
||||
|
@ -29,7 +29,7 @@ package gc;
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @requires vm.bits == "64" & vm.gc != "Z" & os.family != "aix"
|
||||
* @run main/timeout=360 gc.TestAllocateHeapAtMultiple
|
||||
* @run driver/timeout=360 gc.TestAllocateHeapAtMultiple
|
||||
*/
|
||||
|
||||
import jdk.test.lib.JDKToolFinder;
|
||||
@ -40,48 +40,30 @@ import java.util.Collections;
|
||||
|
||||
public class TestAllocateHeapAtMultiple {
|
||||
public static void main(String args[]) throws Exception {
|
||||
ArrayList<String> vmOpts = new ArrayList<>();
|
||||
String[] testVmOpts = null;
|
||||
ArrayList<String> flags = new ArrayList<>();
|
||||
|
||||
String test_dir = System.getProperty("test.dir", ".");
|
||||
|
||||
String testVmOptsStr = System.getProperty("test.java.opts");
|
||||
if (!testVmOptsStr.isEmpty()) {
|
||||
testVmOpts = testVmOptsStr.split(" ");
|
||||
}
|
||||
|
||||
// Extra options for each of the sub-tests
|
||||
String[] extraOptsList = new String[] {
|
||||
"-Xmx32m -Xms32m -XX:+UseCompressedOops", // 1. With compressedoops enabled.
|
||||
"-Xmx32m -Xms32m -XX:-UseCompressedOops", // 2. With compressedoops disabled.
|
||||
"-Xmx32m -Xms32m -XX:HeapBaseMinAddress=3g", // 3. With user specified HeapBaseMinAddress.
|
||||
"-Xmx32m -Xms32m -XX:+UseLargePages", // 4. Set UseLargePages.
|
||||
"-Xmx32m -Xms32m -XX:+UseNUMA" // 5. Set UseNUMA.
|
||||
// Extra flags for each of the sub-tests
|
||||
String[][] extraFlagsList = new String[][] {
|
||||
{"-Xmx32m", "-Xms32m", "-XX:+UseCompressedOops"}, // 1. With compressedoops enabled.
|
||||
{"-Xmx32m", "-Xms32m", "-XX:-UseCompressedOops"}, // 2. With compressedoops disabled.
|
||||
{"-Xmx32m", "-Xms32m", "-XX:HeapBaseMinAddress=3g"}, // 3. With user specified HeapBaseMinAddress.
|
||||
{"-Xmx32m", "-Xms32m", "-XX:+UseLargePages"}, // 4. Set UseLargePages.
|
||||
{"-Xmx32m", "-Xms32m", "-XX:+UseNUMA"} // 5. Set UseNUMA.
|
||||
};
|
||||
|
||||
for(String extraOpts : extraOptsList) {
|
||||
vmOpts.clear();
|
||||
if(testVmOpts != null) {
|
||||
Collections.addAll(vmOpts, testVmOpts);
|
||||
}
|
||||
// Add extra options specific to the sub-test.
|
||||
String[] extraOptsArray = extraOpts.split(" ");
|
||||
if(extraOptsArray != null) {
|
||||
Collections.addAll(vmOpts, extraOptsArray);
|
||||
}
|
||||
// Add common options
|
||||
Collections.addAll(vmOpts, new String[] {"-XX:AllocateHeapAt=" + test_dir,
|
||||
"-Xlog:gc+heap=info",
|
||||
"-version"});
|
||||
|
||||
System.out.print("Testing:\n" + JDKToolFinder.getJDKTool("java"));
|
||||
for (int i = 0; i < vmOpts.size(); i += 1) {
|
||||
System.out.print(" " + vmOpts.get(i));
|
||||
}
|
||||
System.out.println();
|
||||
for (String[] extraFlags : extraFlagsList) {
|
||||
flags.clear();
|
||||
// Add extra flags specific to the sub-test.
|
||||
Collections.addAll(flags, extraFlags);
|
||||
// Add common flags
|
||||
Collections.addAll(flags, new String[] {"-XX:AllocateHeapAt=" + test_dir,
|
||||
"-Xlog:gc+heap=info",
|
||||
"-version"});
|
||||
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(vmOpts.toArray(new String[vmOpts.size()]));
|
||||
ProcessTools.createJavaProcessBuilder(true, flags.toArray(String[]::new));
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
||||
System.out.println("Output:\n" + output.getOutput());
|
||||
|
@ -30,38 +30,22 @@ package gc;
|
||||
* @requires vm.gc != "Z"
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @run main gc.TestVerifyDuringStartup
|
||||
* @run driver gc.TestVerifyDuringStartup
|
||||
*/
|
||||
|
||||
import jdk.test.lib.JDKToolFinder;
|
||||
import jdk.test.lib.process.ProcessTools;
|
||||
import jdk.test.lib.process.OutputAnalyzer;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
public class TestVerifyDuringStartup {
|
||||
public static void main(String args[]) throws Exception {
|
||||
ArrayList<String> vmOpts = new ArrayList<>();
|
||||
String[] flags = {
|
||||
"-XX:-UseTLAB",
|
||||
"-XX:+UnlockDiagnosticVMOptions",
|
||||
"-XX:+VerifyDuringStartup",
|
||||
"-Xlog:gc+verify=debug",
|
||||
"-version"};
|
||||
|
||||
String testVmOptsStr = System.getProperty("test.java.opts");
|
||||
if (!testVmOptsStr.isEmpty()) {
|
||||
String[] testVmOpts = testVmOptsStr.split(" ");
|
||||
Collections.addAll(vmOpts, testVmOpts);
|
||||
}
|
||||
Collections.addAll(vmOpts, new String[] {"-XX:-UseTLAB",
|
||||
"-XX:+UnlockDiagnosticVMOptions",
|
||||
"-XX:+VerifyDuringStartup",
|
||||
"-Xlog:gc+verify=debug",
|
||||
"-version"});
|
||||
|
||||
System.out.print("Testing:\n" + JDKToolFinder.getJDKTool("java"));
|
||||
for (int i = 0; i < vmOpts.size(); i += 1) {
|
||||
System.out.print(" " + vmOpts.get(i));
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(vmOpts.toArray(new String[vmOpts.size()]));
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flags);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
||||
System.out.println("Output:\n" + output.getOutput());
|
||||
|
@ -193,10 +193,9 @@ class TestMaxHeapSizeTools {
|
||||
* @param vmargs Arguments to the VM to run
|
||||
* @param classname Name of the class to run
|
||||
* @param arguments Arguments to the class
|
||||
* @param useTestDotJavaDotOpts Use test.java.opts as part of the VM argument string
|
||||
* @return The OutputAnalyzer with the results for the invocation.
|
||||
*/
|
||||
public static OutputAnalyzer runWhiteBoxTest(String[] vmargs, String classname, String[] arguments, boolean useTestDotJavaDotOpts) throws Exception {
|
||||
public static OutputAnalyzer runWhiteBoxTest(String[] vmargs, String classname, String[] arguments) throws Exception {
|
||||
ArrayList<String> finalargs = new ArrayList<String>();
|
||||
|
||||
String[] whiteboxOpts = new String[] {
|
||||
@ -205,22 +204,12 @@ class TestMaxHeapSizeTools {
|
||||
"-cp", System.getProperty("java.class.path"),
|
||||
};
|
||||
|
||||
if (useTestDotJavaDotOpts) {
|
||||
// System.getProperty("test.java.opts") is '' if no options is set,
|
||||
// we need to skip such a result
|
||||
String[] externalVMOpts = new String[0];
|
||||
if (System.getProperty("test.java.opts") != null && System.getProperty("test.java.opts").length() != 0) {
|
||||
externalVMOpts = System.getProperty("test.java.opts").split(" ");
|
||||
}
|
||||
finalargs.addAll(Arrays.asList(externalVMOpts));
|
||||
}
|
||||
|
||||
finalargs.addAll(Arrays.asList(vmargs));
|
||||
finalargs.addAll(Arrays.asList(whiteboxOpts));
|
||||
finalargs.add(classname);
|
||||
finalargs.addAll(Arrays.asList(arguments));
|
||||
|
||||
ProcessBuilder pb = GCArguments.createJavaProcessBuilder(finalargs.toArray(new String[0]));
|
||||
ProcessBuilder pb = GCArguments.createJavaProcessBuilder(finalargs.toArray(String[]::new));
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldHaveExitValue(0);
|
||||
|
||||
@ -228,7 +217,7 @@ class TestMaxHeapSizeTools {
|
||||
}
|
||||
|
||||
private static void getMinInitialMaxHeap(String[] args, MinInitialMaxValues val) throws Exception {
|
||||
OutputAnalyzer output = runWhiteBoxTest(args, ErgoArgsPrinter.class.getName(), new String[] {}, false);
|
||||
OutputAnalyzer output = runWhiteBoxTest(args, ErgoArgsPrinter.class.getName(), new String[] {});
|
||||
|
||||
// the output we watch for has the following format:
|
||||
//
|
||||
|
@ -35,8 +35,8 @@ package gc.arguments;
|
||||
* java.management/sun.management
|
||||
* @build sun.hotspot.WhiteBox
|
||||
* @run driver ClassFileInstaller sun.hotspot.WhiteBox
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run main/othervm gc.arguments.TestUseCompressedOopsErgo -XX:+UseSerialGC
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run driver gc.arguments.TestUseCompressedOopsErgo -XX:+UseSerialGC
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -51,8 +51,8 @@ package gc.arguments;
|
||||
* java.management/sun.management
|
||||
* @build sun.hotspot.WhiteBox
|
||||
* @run driver ClassFileInstaller sun.hotspot.WhiteBox
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run main/othervm gc.arguments.TestUseCompressedOopsErgo -XX:+UseParallelGC
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run driver gc.arguments.TestUseCompressedOopsErgo -XX:+UseParallelGC
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -67,8 +67,8 @@ package gc.arguments;
|
||||
* java.management/sun.management
|
||||
* @build sun.hotspot.WhiteBox
|
||||
* @run driver ClassFileInstaller sun.hotspot.WhiteBox
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run main/othervm gc.arguments.TestUseCompressedOopsErgo -XX:+UseG1GC
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run driver gc.arguments.TestUseCompressedOopsErgo -XX:+UseG1GC
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -83,8 +83,8 @@ package gc.arguments;
|
||||
* java.management/sun.management
|
||||
* @build sun.hotspot.WhiteBox
|
||||
* @run driver ClassFileInstaller sun.hotspot.WhiteBox
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run main/othervm gc.arguments.TestUseCompressedOopsErgo -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run driver gc.arguments.TestUseCompressedOopsErgo -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC
|
||||
*/
|
||||
|
||||
public class TestUseCompressedOopsErgo {
|
||||
|
@ -56,7 +56,7 @@ class TestUseCompressedOopsErgoTools {
|
||||
|
||||
|
||||
public static long getMaxHeapForCompressedOops(String[] vmargs) throws Exception {
|
||||
OutputAnalyzer output = runWhiteBoxTest(vmargs, DetermineMaxHeapForCompressedOops.class.getName(), new String[] {}, false);
|
||||
OutputAnalyzer output = runWhiteBoxTest(vmargs, DetermineMaxHeapForCompressedOops.class.getName(), new String[] {});
|
||||
return Long.parseLong(output.getStdout());
|
||||
}
|
||||
|
||||
@ -78,10 +78,9 @@ class TestUseCompressedOopsErgoTools {
|
||||
* @param vmargs Arguments to the VM to run
|
||||
* @param classname Name of the class to run
|
||||
* @param arguments Arguments to the class
|
||||
* @param useTestDotJavaDotOpts Use test.java.opts as part of the VM argument string
|
||||
* @return The OutputAnalyzer with the results for the invocation.
|
||||
*/
|
||||
public static OutputAnalyzer runWhiteBoxTest(String[] vmargs, String classname, String[] arguments, boolean useTestDotJavaDotOpts) throws Exception {
|
||||
public static OutputAnalyzer runWhiteBoxTest(String[] vmargs, String classname, String[] arguments) throws Exception {
|
||||
ArrayList<String> finalargs = new ArrayList<String>();
|
||||
|
||||
String[] whiteboxOpts = new String[] {
|
||||
@ -90,22 +89,12 @@ class TestUseCompressedOopsErgoTools {
|
||||
"-cp", System.getProperty("java.class.path"),
|
||||
};
|
||||
|
||||
if (useTestDotJavaDotOpts) {
|
||||
// System.getProperty("test.java.opts") is '' if no options is set,
|
||||
// we need to skip such a result
|
||||
String[] externalVMOpts = new String[0];
|
||||
if (System.getProperty("test.java.opts") != null && System.getProperty("test.java.opts").length() != 0) {
|
||||
externalVMOpts = System.getProperty("test.java.opts").split(" ");
|
||||
}
|
||||
finalargs.addAll(Arrays.asList(externalVMOpts));
|
||||
}
|
||||
|
||||
finalargs.addAll(Arrays.asList(vmargs));
|
||||
finalargs.addAll(Arrays.asList(whiteboxOpts));
|
||||
finalargs.add(classname);
|
||||
finalargs.addAll(Arrays.asList(arguments));
|
||||
|
||||
ProcessBuilder pb = GCArguments.createJavaProcessBuilder(finalargs.toArray(new String[0]));
|
||||
ProcessBuilder pb = GCArguments.createJavaProcessBuilder(finalargs.toArray(String[]::new));
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldHaveExitValue(0);
|
||||
return output;
|
||||
@ -115,7 +104,7 @@ class TestUseCompressedOopsErgoTools {
|
||||
ArrayList<String> result = new ArrayList<String>();
|
||||
result.addAll(Arrays.asList(part1));
|
||||
result.add(part2);
|
||||
return result.toArray(new String[0]);
|
||||
return result.toArray(String[]::new);
|
||||
}
|
||||
|
||||
public static void checkCompressedOopsErgo(String[] gcflags) throws Exception {
|
||||
|
@ -33,10 +33,10 @@ package gc.g1;
|
||||
* java.management
|
||||
* @build sun.hotspot.WhiteBox
|
||||
* @run driver ClassFileInstaller sun.hotspot.WhiteBox
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @summary Humongous objects may have references from the code cache
|
||||
* @run main gc.g1.TestHumongousCodeCacheRoots
|
||||
*/
|
||||
* @run driver gc.g1.TestHumongousCodeCacheRoots
|
||||
*/
|
||||
|
||||
import jdk.test.lib.process.OutputAnalyzer;
|
||||
import jdk.test.lib.process.ProcessTools;
|
||||
@ -92,10 +92,9 @@ public class TestHumongousCodeCacheRoots {
|
||||
* @param vmargs Arguments to the VM to run
|
||||
* @param classname Name of the class to run
|
||||
* @param arguments Arguments to the class
|
||||
* @param useTestDotJavaDotOpts Use test.java.opts as part of the VM argument string
|
||||
* @return The OutputAnalyzer with the results for the invocation.
|
||||
*/
|
||||
public static OutputAnalyzer runWhiteBoxTest(String[] vmargs, String classname, String[] arguments, boolean useTestDotJavaDotOpts) throws Exception {
|
||||
public static OutputAnalyzer runWhiteBoxTest(String[] vmargs, String classname, String[] arguments) throws Exception {
|
||||
ArrayList<String> finalargs = new ArrayList<String>();
|
||||
|
||||
String[] whiteboxOpts = new String[] {
|
||||
@ -104,22 +103,12 @@ public class TestHumongousCodeCacheRoots {
|
||||
"-cp", System.getProperty("java.class.path"),
|
||||
};
|
||||
|
||||
if (useTestDotJavaDotOpts) {
|
||||
// System.getProperty("test.java.opts") is '' if no options is set,
|
||||
// we need to skip such a result
|
||||
String[] externalVMOpts = new String[0];
|
||||
if (System.getProperty("test.java.opts") != null && System.getProperty("test.java.opts").length() != 0) {
|
||||
externalVMOpts = System.getProperty("test.java.opts").split(" ");
|
||||
}
|
||||
finalargs.addAll(Arrays.asList(externalVMOpts));
|
||||
}
|
||||
|
||||
finalargs.addAll(Arrays.asList(vmargs));
|
||||
finalargs.addAll(Arrays.asList(whiteboxOpts));
|
||||
finalargs.add(classname);
|
||||
finalargs.addAll(Arrays.asList(arguments));
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(finalargs.toArray(new String[0]));
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(finalargs.toArray(String[]::new));
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldHaveExitValue(0);
|
||||
return output;
|
||||
@ -133,8 +122,7 @@ public class TestHumongousCodeCacheRoots {
|
||||
"-XX:+G1VerifyHeapRegionCodeRoots", "-XX:+VerifyAfterGC", // make sure that verification is run
|
||||
};
|
||||
|
||||
runWhiteBoxTest(baseArguments, TestHumongousCodeCacheRootsHelper.class.getName(),
|
||||
new String[] {}, false);
|
||||
runWhiteBoxTest(baseArguments, TestHumongousCodeCacheRootsHelper.class.getName(), new String[] { });
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@ package gc.nvdimm;
|
||||
* @requires test.vm.gc.nvdimm
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @run main gc.nvdimm.TestAllocateOldGenAt
|
||||
* @run driver gc.nvdimm.TestAllocateOldGenAt
|
||||
*/
|
||||
|
||||
import jdk.test.lib.JDKToolFinder;
|
||||
@ -40,40 +40,27 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
|
||||
public class TestAllocateOldGenAt {
|
||||
private static ArrayList<String> commonOpts;
|
||||
private static String[] commonFlags;
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
commonOpts = new ArrayList<>();
|
||||
|
||||
String testVmOptsStr = System.getProperty("test.java.opts");
|
||||
if (!testVmOptsStr.isEmpty()) {
|
||||
String[] testVmOpts = testVmOptsStr.split(" ");
|
||||
Collections.addAll(commonOpts, testVmOpts);
|
||||
}
|
||||
String test_dir = System.getProperty("test.dir", ".");
|
||||
Collections.addAll(commonOpts, new String[] {"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:AllocateOldGenAt=" + test_dir,
|
||||
"-Xmx32m",
|
||||
"-Xms32m",
|
||||
"-version"});
|
||||
commonFlags = new String[] {
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:AllocateOldGenAt=" + test_dir,
|
||||
"-Xmx32m",
|
||||
"-Xms32m",
|
||||
"-version"};
|
||||
|
||||
runTest("-XX:+UseG1GC");
|
||||
runTest("-XX:+UseParallelGC");
|
||||
}
|
||||
|
||||
private static void runTest(String... extraFlags) throws Exception {
|
||||
ArrayList<String> testOpts = new ArrayList<>();
|
||||
Collections.addAll(testOpts, commonOpts.toArray(new String[commonOpts.size()]));
|
||||
Collections.addAll(testOpts, extraFlags);
|
||||
|
||||
System.out.print("Testing:\n" + JDKToolFinder.getJDKTool("java"));
|
||||
for (int i = 0; i < testOpts.size(); i += 1) {
|
||||
System.out.print(" " + testOpts.get(i));
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
ArrayList<String> flags = new ArrayList<>();
|
||||
Collections.addAll(flags, commonFlags);
|
||||
Collections.addAll(flags, extraFlags);
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(testOpts.toArray(new String[testOpts.size()]));
|
||||
ProcessTools.createJavaProcessBuilder(true, flags.toArray(String[]::new));
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
||||
output.shouldHaveExitValue(0);
|
||||
|
@ -30,7 +30,7 @@ package gc.nvdimm;
|
||||
* @requires test.vm.gc.nvdimm
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @run main gc.nvdimm.TestAllocateOldGenAtError
|
||||
* @run driver gc.nvdimm.TestAllocateOldGenAtError
|
||||
*/
|
||||
|
||||
import java.io.File;
|
||||
@ -42,16 +42,9 @@ import java.util.Collections;
|
||||
import java.util.UUID;
|
||||
|
||||
public class TestAllocateOldGenAtError {
|
||||
private static ArrayList<String> commonOpts;
|
||||
private static String[] commonFlags;
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
commonOpts = new ArrayList<>();
|
||||
|
||||
String testVmOptsStr = System.getProperty("test.java.opts");
|
||||
if (!testVmOptsStr.isEmpty()) {
|
||||
String[] testVmOpts = testVmOptsStr.split(" ");
|
||||
Collections.addAll(commonOpts, testVmOpts);
|
||||
}
|
||||
String test_dir = System.getProperty("test.dir", ".");
|
||||
|
||||
File f = null;
|
||||
@ -59,12 +52,13 @@ public class TestAllocateOldGenAtError {
|
||||
f = new File(test_dir, UUID.randomUUID().toString());
|
||||
} while(f.exists());
|
||||
|
||||
Collections.addAll(commonOpts, new String[] {"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:AllocateOldGenAt=" + f.getName(),
|
||||
"-Xlog:gc+heap=info",
|
||||
"-Xmx32m",
|
||||
"-Xms32m",
|
||||
"-version"});
|
||||
commonFlags = new String[] {
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:AllocateOldGenAt=" + f.getName(),
|
||||
"-Xlog:gc+heap=info",
|
||||
"-Xmx32m",
|
||||
"-Xms32m",
|
||||
"-version"};
|
||||
|
||||
testG1();
|
||||
testParallelOld();
|
||||
@ -83,24 +77,20 @@ public class TestAllocateOldGenAtError {
|
||||
|
||||
private static void testParallelOld() throws Exception {
|
||||
System.out.println("Testing Parallel GC");
|
||||
|
||||
OutputAnalyzer output = runTest("-XX:+UseParallelGC");
|
||||
|
||||
output.shouldContain("Error occurred during initialization of VM");
|
||||
output.shouldNotHaveExitValue(0);
|
||||
}
|
||||
|
||||
private static OutputAnalyzer runTest(String... extraFlags) throws Exception {
|
||||
ArrayList<String> testOpts = new ArrayList<>();
|
||||
Collections.addAll(testOpts, commonOpts.toArray(new String[commonOpts.size()]));
|
||||
Collections.addAll(testOpts, extraFlags);
|
||||
|
||||
System.out.print("Testing:\n" + JDKToolFinder.getJDKTool("java"));
|
||||
for (int i = 0; i < testOpts.size(); i += 1) {
|
||||
System.out.print(" " + testOpts.get(i));
|
||||
}
|
||||
System.out.println();
|
||||
ArrayList<String> flags = new ArrayList<>();
|
||||
Collections.addAll(flags, commonFlags);
|
||||
Collections.addAll(flags, extraFlags);
|
||||
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(testOpts.toArray(new String[testOpts.size()]));
|
||||
ProcessTools.createJavaProcessBuilder(true, flags.toArray(String[]::new));
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
return output;
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ package gc.nvdimm;
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @requires vm.bits == "64"
|
||||
* @run main gc.nvdimm.TestAllocateOldGenAtMultiple -XX:+UseG1GC
|
||||
* @run driver gc.nvdimm.TestAllocateOldGenAtMultiple
|
||||
*/
|
||||
|
||||
import jdk.test.lib.JDKToolFinder;
|
||||
@ -42,49 +42,29 @@ import java.util.Collections;
|
||||
|
||||
public class TestAllocateOldGenAtMultiple {
|
||||
public static void main(String args[]) throws Exception {
|
||||
ArrayList<String> vmOpts = new ArrayList<>();
|
||||
String[] testVmOpts = null;
|
||||
|
||||
ArrayList<String> flags = new ArrayList<>();
|
||||
String test_dir = System.getProperty("test.dir", ".");
|
||||
|
||||
String testVmOptsStr = System.getProperty("test.java.opts");
|
||||
if (!testVmOptsStr.isEmpty()) {
|
||||
testVmOpts = testVmOptsStr.split(" ");
|
||||
}
|
||||
|
||||
// Extra options for each of the sub-tests
|
||||
String[] extraOptsList = new String[] {
|
||||
"-Xmx32m -Xms32m -XX:+UseCompressedOops", // 1. With compressedoops enabled.
|
||||
"-Xmx32m -Xms32m -XX:-UseCompressedOops", // 2. With compressedoops disabled.
|
||||
"-Xmx32m -Xms32m -XX:HeapBaseMinAddress=3g", // 3. With user specified HeapBaseMinAddress.
|
||||
"-Xmx4g -Xms4g", // 4. With larger heap size (UnscaledNarrowOop not possible).
|
||||
"-Xmx4g -Xms4g -XX:+UseLargePages", // 5. Set UseLargePages.
|
||||
"-Xmx4g -Xms4g -XX:+UseNUMA" // 6. Set UseNUMA.
|
||||
// Extra flags for each of the sub-tests
|
||||
String[][] extraFlagsList = {
|
||||
{"-Xmx32m", "-Xms32m", "-XX:+UseCompressedOops"}, // 1. With compressedoops enabled.
|
||||
{"-Xmx32m", "-Xms32m", "-XX:-UseCompressedOops"}, // 2. With compressedoops disabled.
|
||||
{"-Xmx32m", "-Xms32m", "-XX:HeapBaseMinAddress=3g"}, // 3. With user specified HeapBaseMinAddress.
|
||||
{"-Xmx4g", "-Xms4g"}, // 4. With larger heap size (UnscaledNarrowOop not possible).
|
||||
{"-Xmx4g", "-Xms4g", "-XX:+UseLargePages"}, // 5. Set UseLargePages.
|
||||
{"-Xmx4g", "-Xms4g", "-XX:+UseNUMA"} // 6. Set UseNUMA.
|
||||
};
|
||||
|
||||
for(String extraOpts : extraOptsList) {
|
||||
vmOpts.clear();
|
||||
if(testVmOpts != null) {
|
||||
Collections.addAll(vmOpts, testVmOpts);
|
||||
}
|
||||
// Add extra options specific to the sub-test.
|
||||
String[] extraOptsArray = extraOpts.split(" ");
|
||||
if(extraOptsArray != null) {
|
||||
Collections.addAll(vmOpts, extraOptsArray);
|
||||
}
|
||||
// Add common options
|
||||
Collections.addAll(vmOpts, new String[] {"-XX:+UnlockExperimentalVMOptions",
|
||||
for (String[] extraFlags : extraFlagsList) {
|
||||
flags.clear();
|
||||
// Add extra flags specific to the sub-test.
|
||||
Collections.addAll(flags, extraFlags);
|
||||
// Add common flags
|
||||
Collections.addAll(flags, new String[] {"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:AllocateOldGenAt=" + test_dir,
|
||||
"-version"});
|
||||
|
||||
System.out.print("Testing:\n" + JDKToolFinder.getJDKTool("java"));
|
||||
for (int i = 0; i < vmOpts.size(); i += 1) {
|
||||
System.out.print(" " + vmOpts.get(i));
|
||||
}
|
||||
System.out.println();
|
||||
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(vmOpts.toArray(new String[vmOpts.size()]));
|
||||
ProcessTools.createJavaProcessBuilder(true, flags.toArray(String[]::new));
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
||||
System.out.println("Output:\n" + output.getOutput());
|
||||
|
@ -31,8 +31,8 @@ package gc.nvdimm;
|
||||
* @requires test.vm.gc.nvdimm
|
||||
* @build sun.hotspot.WhiteBox
|
||||
* @run driver ClassFileInstaller sun.hotspot.WhiteBox
|
||||
* @run main gc.nvdimm.TestHumongousObjectsOnNvdimm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
|
||||
* -XX:+WhiteBoxAPI
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run driver gc.nvdimm.TestHumongousObjectsOnNvdimm
|
||||
*/
|
||||
|
||||
import jdk.test.lib.process.OutputAnalyzer;
|
||||
@ -50,39 +50,31 @@ import gc.testlibrary.Helpers;
|
||||
*/
|
||||
public class TestHumongousObjectsOnNvdimm {
|
||||
|
||||
private static ArrayList<String> testOpts;
|
||||
private static String[] commonFlags;
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
testOpts = new ArrayList<>();
|
||||
|
||||
String[] common_options = new String[] {
|
||||
commonFlags = new String[] {
|
||||
"-Xbootclasspath/a:.",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:+UnlockDiagnosticVMOptions",
|
||||
"-XX:+WhiteBoxAPI",
|
||||
"-XX:AllocateOldGenAt="+System.getProperty("test.dir", "."),
|
||||
"-XX:AllocateOldGenAt=" + System.getProperty("test.dir", "."),
|
||||
"-Xms10M", "-Xmx10M",
|
||||
"-XX:G1HeapRegionSize=1m"
|
||||
};
|
||||
|
||||
String testVmOptsStr = System.getProperty("test.java.opts");
|
||||
if (!testVmOptsStr.isEmpty()) {
|
||||
String[] testVmOpts = testVmOptsStr.split(" ");
|
||||
Collections.addAll(testOpts, testVmOpts);
|
||||
}
|
||||
Collections.addAll(testOpts, common_options);
|
||||
|
||||
// Test with G1 GC
|
||||
runTest("-XX:+UseG1GC");
|
||||
}
|
||||
|
||||
private static void runTest(String... extraFlags) throws Exception {
|
||||
Collections.addAll(testOpts, extraFlags);
|
||||
testOpts.add(HumongousObjectTest.class.getName());
|
||||
System.out.println(testOpts);
|
||||
ArrayList<String> flags = new ArrayList<>();
|
||||
Collections.addAll(flags, commonFlags);
|
||||
Collections.addAll(flags, extraFlags);
|
||||
flags.add(HumongousObjectTest.class.getName());
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false,
|
||||
testOpts.toArray(new String[testOpts.size()]));
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
flags.toArray(String[]::new));
|
||||
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldHaveExitValue(0);
|
||||
|
@ -31,8 +31,8 @@ package gc.nvdimm;
|
||||
* @library /test/lib
|
||||
* @build sun.hotspot.WhiteBox
|
||||
* @run driver ClassFileInstaller sun.hotspot.WhiteBox
|
||||
* @run main gc.nvdimm.TestOldObjectsOnNvdimm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
|
||||
* -XX:+WhiteBoxAPI
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run driver gc.nvdimm.TestOldObjectsOnNvdimm
|
||||
*/
|
||||
|
||||
import jdk.test.lib.process.OutputAnalyzer;
|
||||
@ -50,39 +50,30 @@ import java.util.Collections;
|
||||
public class TestOldObjectsOnNvdimm {
|
||||
|
||||
public static final int ALLOCATION_SIZE = 100;
|
||||
private static ArrayList<String> testOpts;
|
||||
private static String[] commonFlags;
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
testOpts = new ArrayList<>();
|
||||
|
||||
String[] common_options = new String[] {
|
||||
commonFlags = new String[] {
|
||||
"-Xbootclasspath/a:.",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:+UnlockDiagnosticVMOptions",
|
||||
"-XX:+WhiteBoxAPI",
|
||||
"-XX:AllocateOldGenAt="+System.getProperty("test.dir", "."),
|
||||
"-XX:AllocateOldGenAt=" + System.getProperty("test.dir", "."),
|
||||
"-Xms10M", "-Xmx10M",
|
||||
"-XX:MaxTenuringThreshold=1" // Promote objects to Old Gen
|
||||
};
|
||||
|
||||
String testVmOptsStr = System.getProperty("test.java.opts");
|
||||
if (!testVmOptsStr.isEmpty()) {
|
||||
String[] testVmOpts = testVmOptsStr.split(" ");
|
||||
Collections.addAll(testOpts, testVmOpts);
|
||||
}
|
||||
Collections.addAll(testOpts, common_options);
|
||||
|
||||
runTest("-XX:+UseG1GC");
|
||||
runTest("-XX:+UseParallelGC");
|
||||
}
|
||||
|
||||
private static void runTest(String... extraFlags) throws Exception {
|
||||
Collections.addAll(testOpts, extraFlags);
|
||||
testOpts.add(OldObjectTest.class.getName());
|
||||
System.out.println(testOpts);
|
||||
ArrayList<String> flags = new ArrayList<>();
|
||||
Collections.addAll(flags, commonFlags);
|
||||
Collections.addAll(flags, extraFlags);
|
||||
flags.add(OldObjectTest.class.getName());
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false,
|
||||
testOpts.toArray(new String[testOpts.size()]));
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
flags.toArray(String[]::new));
|
||||
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
System.out.println(output.getStdout());
|
||||
|
@ -31,8 +31,8 @@ package gc.nvdimm;
|
||||
* @library /test/lib
|
||||
* @build sun.hotspot.WhiteBox
|
||||
* @run driver ClassFileInstaller sun.hotspot.WhiteBox
|
||||
* @run main gc.nvdimm.TestYoungObjectsOnDram -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
|
||||
* -XX:+WhiteBoxAPI
|
||||
* sun.hotspot.WhiteBox$WhiteBoxPermission
|
||||
* @run driver gc.nvdimm.TestYoungObjectsOnDram
|
||||
*/
|
||||
|
||||
import jdk.test.lib.process.OutputAnalyzer;
|
||||
@ -50,40 +50,31 @@ import java.util.Collections;
|
||||
public class TestYoungObjectsOnDram {
|
||||
|
||||
public static final int ALLOCATION_SIZE = 100;
|
||||
private static ArrayList<String> testOpts;
|
||||
private static String[] commonFlags;
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
testOpts = new ArrayList<>();
|
||||
|
||||
String[] common_options = new String[] {
|
||||
commonFlags = new String[] {
|
||||
"-Xbootclasspath/a:.",
|
||||
"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:+UnlockDiagnosticVMOptions",
|
||||
"-XX:+WhiteBoxAPI",
|
||||
"-XX:AllocateOldGenAt="+System.getProperty("test.dir", "."),
|
||||
"-XX:AllocateOldGenAt=" + System.getProperty("test.dir", "."),
|
||||
"-XX:SurvivorRatio=1", // Survivor-to-eden ratio is 1:1
|
||||
"-Xms10M", "-Xmx10M",
|
||||
"-XX:InitialTenuringThreshold=15" // avoid promotion of objects to Old Gen
|
||||
};
|
||||
|
||||
String testVmOptsStr = System.getProperty("test.java.opts");
|
||||
if (!testVmOptsStr.isEmpty()) {
|
||||
String[] testVmOpts = testVmOptsStr.split(" ");
|
||||
Collections.addAll(testOpts, testVmOpts);
|
||||
}
|
||||
Collections.addAll(testOpts, common_options);
|
||||
|
||||
runTest("-XX:+UseG1GC");
|
||||
runTest("-XX:+UseParallelGC");
|
||||
}
|
||||
|
||||
private static void runTest(String... extraFlags) throws Exception {
|
||||
Collections.addAll(testOpts, extraFlags);
|
||||
testOpts.add(YoungObjectTest.class.getName());
|
||||
System.out.println(testOpts);
|
||||
ArrayList<String> flags = new ArrayList<>();
|
||||
Collections.addAll(flags, commonFlags);
|
||||
Collections.addAll(flags, extraFlags);
|
||||
flags.add(YoungObjectTest.class.getName());
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false,
|
||||
testOpts.toArray(new String[testOpts.size()]));
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
flags.toArray(String[]::new));
|
||||
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
System.out.println(output.getStdout());
|
||||
|
Loading…
x
Reference in New Issue
Block a user