本文整理汇总了Java中com.oracle.java.testlibrary.OutputAnalyzer类的典型用法代码示例。如果您正苦于以下问题:Java OutputAnalyzer类的具体用法?Java OutputAnalyzer怎么用?Java OutputAnalyzer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
OutputAnalyzer类属于com.oracle.java.testlibrary包,在下文中一共展示了OutputAnalyzer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public static void main(String[] args) throws Exception, Throwable {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:InitialHeapSize=" + INITIAL_HEAP_SIZE,
"-Xmn" + MINIMAL_YOUNG_SIZE,
"-XX:MinHeapFreeRatio=10",
"-XX:MaxHeapFreeRatio=11",
"-XX:+UseG1GC",
"-XX:G1HeapRegionSize=" + REGION_SIZE,
"-XX:-ExplicitGCInvokesConcurrent",
"-verbose:gc",
GCTest.class.getName()
);
OutputAnalyzer output = ProcessTools.executeProcess(pb);
output.shouldHaveExitValue(0);
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:17,代码来源:TestShrinkDefragmentedHeap.java
示例2: testGCLogs
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
private static void testGCLogs() throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
"-Xms128M",
"-Xmx128M",
"-Xmn16M",
"-XX:G1HeapRegionSize=1M",
"-XX:+PrintGC",
"-XX:+UnlockExperimentalVMOptions",
"-XX:G1LogLevel=finest",
"-XX:+G1TraceEagerReclaimHumongousObjects",
GCTest.class.getName());
OutputAnalyzer output = new OutputAnalyzer(pb.start());
// As G1EagerReclaimHumongousObjects is set(default), below logs should be displayed.
// And GCTest doesn't have humongous objects, so values should be zero.
output.shouldContain("[Humongous Reclaim");
output.shouldContain("[Humongous Total: 0]");
output.shouldContain("[Humongous Candidate: 0]");
output.shouldContain("[Humongous Reclaimed: 0]");
output.shouldHaveExitValue(0);
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:25,代码来源:TestG1TraceEagerReclaimHumongousObjects.java
示例3: testHumongousObjectGCLogs
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
private static void testHumongousObjectGCLogs() throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseG1GC",
"-Xms128M",
"-Xmx128M",
"-Xmn16M",
"-XX:G1HeapRegionSize=1M",
"-XX:+PrintGC",
"-XX:+UnlockExperimentalVMOptions",
"-XX:G1LogLevel=finest",
"-XX:+G1TraceEagerReclaimHumongousObjects",
GCWithHumongousObjectTest.class.getName());
OutputAnalyzer output = new OutputAnalyzer(pb.start());
// As G1ReclaimDeadHumongousObjectsAtYoungGC is set(default), below logs should be displayed.
output.shouldContain("[Humongous Reclaim");
output.shouldContain("[Humongous Total");
output.shouldContain("[Humongous Candidate");
output.shouldContain("[Humongous Reclaimed");
// As G1TraceReclaimDeadHumongousObjectsAtYoungGC is set and GCWithHumongousObjectTest has humongous objects,
// these logs should be displayed.
output.shouldContain("Live humongous");
output.shouldContain("Dead humongous region");
output.shouldHaveExitValue(0);
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:27,代码来源:TestG1TraceEagerReclaimHumongousObjects.java
示例4: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:+UseG1GC",
"-Xms128M",
"-Xmx128M",
"-Xmn16M",
"-XX:+PrintGC",
ReclaimRegionFast.class.getName());
Pattern p = Pattern.compile("Full GC");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
int found = 0;
Matcher m = p.matcher(output.getStdout());
while (m.find()) { found++; }
System.out.println("Issued " + found + " Full GCs");
Asserts.assertLT(found, 10, "Found that " + found + " Full GCs were issued. This is larger than the bound. Eager reclaim seems to not work at all");
output.shouldHaveExitValue(0);
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:22,代码来源:TestEagerReclaimHumongousRegions.java
示例5: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:+UseG1GC",
"-Xms128M",
"-Xmx128M",
"-Xmn16M",
"-XX:+PrintGC",
ReclaimRegionFast.class.getName());
Pattern p = Pattern.compile("Full GC");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
int found = 0;
Matcher m = p.matcher(output.getStdout());
while (m.find()) {
found++;
}
System.out.println("Issued " + found + " Full GCs");
assertLessThan(found, 10, "Found that " + found + " Full GCs were issued. This is larger than the bound. Eager reclaim of objects once referenced from old gen seems to not work at all");
output.shouldHaveExitValue(0);
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:24,代码来源:TestEagerReclaimHumongousRegionsWithRefs.java
示例6: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:+UseG1GC",
"-Xms128M",
"-Xmx128M",
"-Xmn2M",
"-XX:G1HeapRegionSize=1M",
"-XX:InitiatingHeapOccupancyPercent=0", // Want to have as much as possible initial marks.
"-XX:+PrintGC",
"-XX:+VerifyAfterGC",
"-XX:ConcGCThreads=1", // Want to make marking as slow as possible.
"-XX:+IgnoreUnrecognizedVMOptions", // G1VerifyBitmaps is develop only.
"-XX:+G1VerifyBitmaps",
ReclaimRegionFast.class.getName());
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldHaveExitValue(0);
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:18,代码来源:TestEagerReclaimHumongousRegionsClearMarkBits.java
示例7: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
ArrayList<String> testArguments = new ArrayList<String>();
testArguments.add("-XX:+UseG1GC");
testArguments.add("-Xmx2g");
testArguments.add("-version");
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(testArguments.toArray(new String[0]));
OutputAnalyzer output = new OutputAnalyzer(pb.start());
// Avoid failing test for setups not supported.
if (output.getOutput().contains("Could not reserve enough space for 2097152KB object heap")) {
// Will fail on machines with too little memory (and Windows 32-bit VM), ignore such failures.
output.shouldHaveExitValue(1);
} else if (output.getOutput().contains("G1 GC is disabled in this release")) {
// G1 is not supported on embedded, ignore such failures.
output.shouldHaveExitValue(1);
} else {
// Normally everything should be fine.
output.shouldHaveExitValue(0);
}
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:24,代码来源:Test2GbHeap.java
示例8: testGCId
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
private static void testGCId(String gcFlag, String logFlag) throws Exception {
// GCID logging enabled
ProcessBuilder pb_enabled =
ProcessTools.createJavaProcessBuilder("-XX:+" + gcFlag, "-XX:+" + logFlag, "-Xmx10M", "-XX:+PrintGCID", GCTest.class.getName());
verifyContainsGCIDs(new OutputAnalyzer(pb_enabled.start()));
// GCID logging disabled
ProcessBuilder pb_disabled =
ProcessTools.createJavaProcessBuilder("-XX:+" + gcFlag, "-XX:+" + logFlag, "-Xmx10M", "-XX:-PrintGCID", GCTest.class.getName());
verifyContainsNoGCIDs(new OutputAnalyzer(pb_disabled.start()));
// GCID logging default
ProcessBuilder pb_default =
ProcessTools.createJavaProcessBuilder("-XX:+" + gcFlag, "-XX:+" + logFlag, "-Xmx10M", GCTest.class.getName());
verifyContainsNoGCIDs(new OutputAnalyzer(pb_default.start()));
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:17,代码来源:TestGCId.java
示例9: testDynamicNumberOfGCThreads
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
private static void testDynamicNumberOfGCThreads(String gcFlag) throws Exception {
// UseDynamicNumberOfGCThreads and TraceDynamicGCThreads enabled
String[] baseArgs = {"-XX:+" + gcFlag, "-Xmx10M", "-XX:+PrintGCDetails", "-XX:+UseDynamicNumberOfGCThreads", "-XX:+TraceDynamicGCThreads", GCTest.class.getName()};
// Base test with gc and +UseDynamicNumberOfGCThreads:
ProcessBuilder pb_enabled = ProcessTools.createJavaProcessBuilder(baseArgs);
verifyDynamicNumberOfGCThreads(new OutputAnalyzer(pb_enabled.start()));
// Ensure it also works on uniprocessors or if user specifies -XX:ParallelGCThreads=1:
String[] extraArgs = {"-XX:+UnlockDiagnosticVMOptions", "-XX:+ForceDynamicNumberOfGCThreads", "-XX:ParallelGCThreads=1"};
String[] finalArgs = new String[baseArgs.length + extraArgs.length];
System.arraycopy(extraArgs, 0, finalArgs, 0, extraArgs.length);
System.arraycopy(baseArgs, 0, finalArgs, extraArgs.length, baseArgs.length);
pb_enabled = ProcessTools.createJavaProcessBuilder(finalArgs);
verifyDynamicNumberOfGCThreads(new OutputAnalyzer(pb_enabled.start()));
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:17,代码来源:TestDynamicNumberOfGCThreads.java
示例10: run
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
private static OutputAnalyzer run(boolean enableUnloading) throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-Xbootclasspath/a:.",
"-XX:+UnlockDiagnosticVMOptions",
"-XX:+WhiteBoxAPI",
"-Xmx128m",
"-XX:CMSMaxAbortablePrecleanTime=1",
"-XX:CMSWaitDuration=50",
"-XX:MetaspaceSize=" + MetaspaceSize,
"-Xmn" + YoungGenSize,
"-XX:+UseConcMarkSweepGC",
"-XX:" + (enableUnloading ? "+" : "-") + "CMSClassUnloadingEnabled",
"-XX:+PrintHeapAtGC",
"-XX:+PrintGCDetails",
"-XX:+PrintGCTimeStamps",
TestCMSClassUnloadingEnabledHWM.AllocateBeyondMetaspaceSize.class.getName(),
"" + MetaspaceSize);
return new OutputAnalyzer(pb.start());
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:20,代码来源:TestCMSClassUnloadingEnabledHWM.java
示例11: run
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
private static OutputAnalyzer run(boolean enableUnloading) throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-Xbootclasspath/a:.",
"-XX:+UnlockDiagnosticVMOptions",
"-XX:+WhiteBoxAPI",
"-XX:MetaspaceSize=" + MetaspaceSize,
"-Xmn" + YoungGenSize,
"-XX:+UseG1GC",
"-XX:" + (enableUnloading ? "+" : "-") + "ClassUnloadingWithConcurrentMark",
"-XX:+PrintHeapAtGC",
"-XX:+PrintGCDetails",
TestG1ClassUnloadingHWM.AllocateBeyondMetaspaceSize.class.getName(),
"" + MetaspaceSize,
"" + YoungGenSize);
return new OutputAnalyzer(pb.start());
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:17,代码来源:TestG1ClassUnloadingHWM.java
示例12: runTest
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
private static OutputAnalyzer runTest(String subset) throws Exception {
ArrayList<String> vmOpts = new ArrayList();
Collections.addAll(vmOpts, getTestJavaOpts());
Collections.addAll(vmOpts, new String[] {"-XX:+UnlockDiagnosticVMOptions",
"-XX:+VerifyBeforeGC",
"-XX:+VerifyAfterGC",
"-XX:VerifySubSet="+subset,
RunSystemGC.class.getName()});
ProcessBuilder pb =
ProcessTools.createJavaProcessBuilder(vmOpts.toArray(new String[vmOpts.size()]));
OutputAnalyzer output = new OutputAnalyzer(pb.start());
System.out.println("Output:\n" + output.getOutput());
return output;
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:17,代码来源:TestVerifySubSet.java
示例13: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public static void main(String args[]) throws Exception {
OutputAnalyzer output;
output = runTest("heap, threads, codecache, metaspace");
output.shouldContain("Heap");
output.shouldContain("Threads");
output.shouldContain("CodeCache");
output.shouldContain("MetaspaceAux");
output.shouldNotContain("SymbolTable");
output.shouldNotContain("StringTable");
output.shouldNotContain("SystemDictionary");
output.shouldNotContain("CodeCache Oops");
output.shouldHaveExitValue(0);
output = runTest("hello, threads, codecache, metaspace");
output.shouldContain("memory sub-system is unknown, please correct it");
output.shouldNotContain("Threads");
output.shouldNotContain("CodeCache");
output.shouldNotContain("MetaspaceAux");
output.shouldHaveExitValue(1);
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:23,代码来源:TestVerifySubSet.java
示例14: runTest
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
private static OutputAnalyzer runTest(boolean verifySilently) throws Exception {
ArrayList<String> vmOpts = new ArrayList();
Collections.addAll(vmOpts, getTestJavaOpts());
Collections.addAll(vmOpts, new String[] {"-XX:+UnlockDiagnosticVMOptions",
"-XX:+VerifyDuringStartup",
"-XX:+VerifyBeforeGC",
"-XX:+VerifyAfterGC",
"-XX:" + (verifySilently ? "+":"-") + "VerifySilently",
RunSystemGC.class.getName()});
ProcessBuilder pb =
ProcessTools.createJavaProcessBuilder(vmOpts.toArray(new String[vmOpts.size()]));
OutputAnalyzer output = new OutputAnalyzer(pb.start());
System.out.println("Output:\n" + output.getOutput());
return output;
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:18,代码来源:TestVerifySilently.java
示例15: expect
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public void expect(Flag... expectedFlags) throws Exception {
if (useFlags == null) {
throw new IllegalStateException("Must run use() before expect()");
}
OutputAnalyzer output = executeNewJVM(useFlags);
for (Flag flag : expectedFlags) {
System.out.println("Looking for: " + flag.flagString());
String strValue = output.firstMatch(".* " + flag.name() + " .* :?= (\\S+).*", 1);
if (strValue == null) {
throw new RuntimeException("Flag " + flag.name() + " couldn't be found");
}
if (!flag.value().equals(strValue)) {
throw new RuntimeException("Wrong value for: " + flag.name()
+ " expected: " + flag.value()
+ " got: " + strValue);
}
}
output.shouldHaveExitValue(0);
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:25,代码来源:TestLargePagesFlags.java
示例16: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
if (args.length == 1) {
// This should guarantee to throw:
// java.lang.OutOfMemoryError: Requested array size exceeds VM limit
try {
Object[] oa = new Object[Integer.MAX_VALUE];
throw new Error("OOME not triggered");
} catch (OutOfMemoryError err) {
throw new Error("OOME didn't terminate JVM!");
}
}
// else this is the main test
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+ExitOnOutOfMemoryError",
"-Xmx64m", TestExitOnOutOfMemoryError.class.getName(), "throwOOME");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
/*
* Actual output should look like this:
* Terminating due to java.lang.OutOfMemoryError: Requested array size exceeds VM limit
*/
output.shouldHaveExitValue(3);
output.shouldContain("Terminating due to java.lang.OutOfMemoryError: Requested array size exceeds VM limit");
System.out.println("PASSED");
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:26,代码来源:TestExitOnOutOfMemoryError.java
示例17: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public static void main (String args[]) throws Exception {
if (args.length == 1) {
final int loops = Integer.parseInt(args[0]);
for (int i = 0; i < loops; i++) {
_num.addAndGet(1);
}
} else {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:+IgnoreUnrecognizedVMOptions",
"-XX:-TieredCompilation",
"-XX:+UseBiasedLocking",
"-XX:BiasedLockingStartupDelay=500",
"-XX:+SafepointTimeout",
"-XX:SafepointTimeoutDelay=2000",
"-XX:+UseCountedLoopSafepoints",
"UseCountedLoopSafepoints",
"2000000000"
);
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldNotContain("Timeout detected");
output.shouldHaveExitValue(0);
}
}
开发者ID:ojdkbuild,项目名称:lookaside_java-1.8.0-openjdk,代码行数:24,代码来源:UseCountedLoopSafepoints.java
示例18: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
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);
}
Collections.addAll(vmOpts, new String[] {"-Xmx3072m", "-XX:MaxPermSize=1024m", "-version"});
ProcessBuilder pb
= ProcessTools.createJavaProcessBuilder(vmOpts.toArray(new String[vmOpts.size()]));
OutputAnalyzer output = new OutputAnalyzer(pb.start());
String dataModel = System.getProperty("sun.arch.data.model");
if (dataModel.equals("32")) {
output.shouldContain("The size of the object heap + perm gen exceeds the maximum representable size");
if (output.getExitValue() == 0) {
throw new RuntimeException("Not expected to get exit value 0");
}
}
}
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:22,代码来源:TestHandleExceedingProcessSizeLimitIn32BitBuilds.java
示例19: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public static void main(String args[]) throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseSerialGC", "-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldNotContain("warning");
output.shouldNotContain("error");
output.shouldHaveExitValue(0);
}
开发者ID:arodchen,项目名称:MaxSim,代码行数:8,代码来源:TestSerialGC.java
示例20: main
import com.oracle.java.testlibrary.OutputAnalyzer; //导入依赖的package包/类
public static void main(String args[]) throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseParallelGC", "-XX:-UseParallelOldGC", "-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
output.shouldNotContain("warning");
output.shouldNotContain("error");
output.shouldHaveExitValue(0);
}
开发者ID:arodchen,项目名称:MaxSim,代码行数:8,代码来源:TestParallelScavengeSerialOld.java
注:本文中的com.oracle.java.testlibrary.OutputAnalyzer类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论