8244078: ProcessTools executeTestJvm and createJavaProcessBuilder have inconsistent handling of test.*.opts
Reviewed-by: dholmes, cjplummer
This commit is contained in:
parent
a8edd11d7a
commit
81597d9f8f
test
hotspot/jtreg
compiler
aot/verification
ciReplay
graalunit/common
runtime/cr8015436
types/correctness
gc
TestAllocateHeapAt.javaTestAllocateHeapAtError.javaTestAllocateHeapAtMultiple.javaTestVerifyDuringStartup.java
arguments
g1
logging
nvdimm
TestAllocateOldGenAt.javaTestAllocateOldGenAtError.javaTestAllocateOldGenAtMultiple.javaTestHumongousObjectsOnNvdimm.javaTestOldObjectsOnNvdimm.javaTestYoungObjectsOnDram.java
whitebox
runtime
7162488
BootstrapMethod
ClassFile
InvocationTests
invocationC1Tests.javainvocationGraalTests.javainvokeinterfaceTests.javainvokespecialTests.javainvokevirtualTests.java
StackTrace
Unsafe
cds
SharedArchiveFile.java
appcds
handshake
modules/PatchModule
os
verifier
serviceability
jvmti
logging
sa
testlibrary
ctw/src/sun/hotspot/tools/ctw
jittester/src/jdk/test/lib/jittester/jtreg
testlibrary_tests/ctw
vmTestbase
gc/huge/quicklook/largeheap/MemOptions
jit/tiered
metaspace/flags/maxMetaspaceSize
nsk/jvmti
RetransformClasses/retransform003
SetNativeMethodPrefix/SetNativeMethodPrefix002
vm/compiler
jdk
com/sun/jdi
java
io
lang
RuntimeTests/shutdown
StackWalker
System/MacEncoding
instrument/DaemonThread
nio
jdk/jfr
api/consumer/streaming
event/runtime
jvm
startupargs
sun/security/ssl
SSLEngineImpl
SSLSessionImpl
SSLSocketImpl
lib/jdk/test/lib
@ -92,7 +92,7 @@ public class ClassAndLibraryNotMatchTest {
|
||||
private void runAndCheckHelloWorld(String checkString) {
|
||||
ProcessBuilder pb;
|
||||
try {
|
||||
pb = ProcessTools.createJavaProcessBuilder(true, "-cp", ".",
|
||||
pb = ProcessTools.createTestJvm("-cp", ".",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:+UseAOT",
|
||||
"-XX:AOTLibrary=./" + LIB_NAME, HELLO_WORLD_CLASS_NAME);
|
||||
} catch (Exception e) {
|
||||
|
@ -87,7 +87,7 @@ public class BasicFlagsChange {
|
||||
so, a message like "skipped $pathTolibrary aot library" or
|
||||
"loaded $pathToLibrary aot library" is present for cases of
|
||||
incompatible or compatible flags respectively */
|
||||
pb = ProcessTools.createJavaProcessBuilder(true, "-XX:+UnlockExperimentalVMOptions",
|
||||
pb = ProcessTools.createTestJvm("-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:+UseAOT", "-XX:+PrintAOT", "-XX:AOTLibrary=./" + libName, option,
|
||||
HelloWorldPrinter.class.getName());
|
||||
} catch (Exception ex) {
|
||||
|
@ -142,11 +142,10 @@ public abstract class CiReplayBase {
|
||||
options.add(needCoreDump ? ENABLE_COREDUMP_ON_CRASH : DISABLE_COREDUMP_ON_CRASH);
|
||||
options.add(EmptyMain.class.getName());
|
||||
if (needCoreDump) {
|
||||
crashOut = ProcessTools.executeProcess(getTestJavaCommandlineWithPrefix(
|
||||
crashOut = ProcessTools.executeProcess(getTestJvmCommandlineWithPrefix(
|
||||
RUN_SHELL_NO_LIMIT, options.toArray(new String[0])));
|
||||
} else {
|
||||
crashOut = ProcessTools.executeProcess(ProcessTools.createJavaProcessBuilder(true,
|
||||
options));
|
||||
crashOut = ProcessTools.executeProcess(ProcessTools.createTestJvm(options));
|
||||
}
|
||||
crashOutputString = crashOut.getOutput();
|
||||
Asserts.assertNotEquals(crashOut.getExitValue(), 0, "Crash JVM exits gracefully");
|
||||
@ -190,7 +189,7 @@ public abstract class CiReplayBase {
|
||||
List<String> allAdditionalOpts = new ArrayList<>();
|
||||
allAdditionalOpts.addAll(Arrays.asList(REPLAY_OPTIONS));
|
||||
allAdditionalOpts.addAll(Arrays.asList(additionalVmOpts));
|
||||
OutputAnalyzer oa = ProcessTools.executeProcess(getTestJavaCommandlineWithPrefix(
|
||||
OutputAnalyzer oa = ProcessTools.executeProcess(getTestJvmCommandlineWithPrefix(
|
||||
RUN_SHELL_ZERO_LIMIT, allAdditionalOpts.toArray(new String[0])));
|
||||
return oa.getExitValue();
|
||||
} catch (Throwable t) {
|
||||
@ -290,9 +289,9 @@ public abstract class CiReplayBase {
|
||||
return null;
|
||||
}
|
||||
|
||||
private String[] getTestJavaCommandlineWithPrefix(String prefix, String... args) {
|
||||
private String[] getTestJvmCommandlineWithPrefix(String prefix, String... args) {
|
||||
try {
|
||||
String cmd = ProcessTools.getCommandLine(ProcessTools.createJavaProcessBuilder(true, args));
|
||||
String cmd = ProcessTools.getCommandLine(ProcessTools.createTestJvm(args));
|
||||
return new String[]{"sh", "-c", prefix
|
||||
+ (Platform.isWindows() ? cmd.replace('\\', '/').replace(";", "\\;").replace("|", "\\|") : cmd)};
|
||||
} catch(Throwable t) {
|
||||
|
@ -57,7 +57,7 @@ public class SABase extends CiReplayBase {
|
||||
}
|
||||
ProcessBuilder pb;
|
||||
try {
|
||||
pb = ProcessTools.createJavaProcessBuilder(true, "--add-modules", "jdk.hotspot.agent",
|
||||
pb = ProcessTools.createTestJvm("--add-modules", "jdk.hotspot.agent",
|
||||
"--add-exports=jdk.hotspot.agent/sun.jvm.hotspot=ALL-UNNAMED",
|
||||
"sun.jvm.hotspot.CLHSDB", JDKToolFinder.getTestJDKTool("java"),
|
||||
TEST_CORE_FILE_NAME);
|
||||
|
@ -113,7 +113,7 @@ public class GraalUnitTestLauncher {
|
||||
String classPath = String.join(File.pathSeparator, System.getProperty("java.class.path"),
|
||||
String.join(File.separator, libsDir, MXTOOL_JARFILE));
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false,
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
"-cp", classPath,
|
||||
"com.oracle.mxtool.junit.FindClassesByAnnotatedMethods", graalUnitTestFilePath, testAnnotationName);
|
||||
|
||||
@ -277,8 +277,7 @@ public class GraalUnitTestLauncher {
|
||||
|
||||
javaFlags.add("@"+GENERATED_TESTCLASSES_FILENAME);
|
||||
|
||||
ProcessBuilder javaPB = ProcessTools.createJavaProcessBuilder(true,
|
||||
javaFlags);
|
||||
ProcessBuilder javaPB = ProcessTools.createTestJvm(javaFlags);
|
||||
|
||||
// Some tests rely on MX_SUBPROCESS_COMMAND_FILE env variable which contains
|
||||
// name of the file with java executable and java args used to launch the current process.
|
||||
|
@ -30,8 +30,8 @@ public class Driver8015436 {
|
||||
public static void main(String args[]) {
|
||||
OutputAnalyzer oa;
|
||||
try {
|
||||
oa = ProcessTools.executeProcess(ProcessTools.createJavaProcessBuilder(
|
||||
/* add test vm options */ true, Test8015436.class.getName()));
|
||||
oa = ProcessTools.executeProcess(ProcessTools.createTestJvm(
|
||||
Test8015436.class.getName()));
|
||||
} catch (Exception ex) {
|
||||
throw new Error("TESTBUG: exception while running child process: " + ex, ex);
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ public class OffTest {
|
||||
OPTIONS[TYPE_PROFILE_INDEX] = typeProfileLevel;
|
||||
OPTIONS[USE_TYPE_SPECULATION_INDEX] = useTypeSpeculation;
|
||||
OPTIONS[PROFILING_TYPE_INDEX] = type.name();
|
||||
ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder(/* addTestVmOptions= */ true, OPTIONS);
|
||||
ProcessBuilder processBuilder = ProcessTools.createTestJvm(OPTIONS);
|
||||
OutputAnalyzer outputAnalyzer = new OutputAnalyzer(processBuilder.start());
|
||||
outputAnalyzer.shouldHaveExitValue(0);
|
||||
}
|
||||
|
@ -40,8 +40,7 @@ import java.util.Collections;
|
||||
|
||||
public class TestAllocateHeapAt {
|
||||
public static void main(String args[]) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:AllocateHeapAt=" + System.getProperty("test.dir", "."),
|
||||
"-Xlog:gc+heap=info",
|
||||
"-Xmx32m",
|
||||
|
@ -46,8 +46,7 @@ public class TestAllocateHeapAtError {
|
||||
f = new File(test_dir, UUID.randomUUID().toString());
|
||||
} while(f.exists());
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:AllocateHeapAt=" + f.getName(),
|
||||
"-Xlog:gc+heap=info",
|
||||
"-Xmx32m",
|
||||
|
@ -62,7 +62,7 @@ public class TestAllocateHeapAtMultiple {
|
||||
"-Xlog:gc+heap=info",
|
||||
"-version"});
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flags);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(flags);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
||||
System.out.println("Output:\n" + output.getOutput());
|
||||
|
@ -38,8 +38,7 @@ import jdk.test.lib.process.OutputAnalyzer;
|
||||
|
||||
public class TestVerifyDuringStartup {
|
||||
public static void main(String args[]) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:-UseTLAB",
|
||||
"-XX:+UnlockDiagnosticVMOptions",
|
||||
"-XX:+VerifyDuringStartup",
|
||||
|
@ -67,22 +67,18 @@ public final class GCArguments {
|
||||
}
|
||||
|
||||
static public ProcessBuilder createJavaProcessBuilder(List<String> arguments) {
|
||||
return createJavaProcessBuilder(false, arguments);
|
||||
}
|
||||
|
||||
static public ProcessBuilder createJavaProcessBuilder(boolean addTestVmAndJavaOptions,
|
||||
List<String> arguments) {
|
||||
return createJavaProcessBuilder(addTestVmAndJavaOptions,
|
||||
arguments.toArray(String[]::new));
|
||||
return createJavaProcessBuilder(arguments.toArray(String[]::new));
|
||||
}
|
||||
|
||||
static public ProcessBuilder createJavaProcessBuilder(String... arguments) {
|
||||
return createJavaProcessBuilder(false, arguments);
|
||||
return ProcessTools.createJavaProcessBuilder(withDefaults(arguments));
|
||||
}
|
||||
|
||||
static public ProcessBuilder createJavaProcessBuilder(boolean addTestVmAndJavaOptions,
|
||||
String... arguments) {
|
||||
return ProcessTools.createJavaProcessBuilder(addTestVmAndJavaOptions,
|
||||
withDefaults(arguments));
|
||||
static public ProcessBuilder createTestJvm(List<String> arguments) {
|
||||
return createTestJvm(arguments.toArray(String[]::new));
|
||||
}
|
||||
|
||||
static public ProcessBuilder createTestJvm(String... arguments) {
|
||||
return ProcessTools.createTestJvm(withDefaults(arguments));
|
||||
}
|
||||
}
|
||||
|
@ -41,8 +41,7 @@ import jdk.test.lib.process.ProcessTools;
|
||||
public class TestUseNUMAInterleaving {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProcessBuilder pb = GCArguments.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = GCArguments.createTestJvm(
|
||||
"-XX:+UseNUMA",
|
||||
"-XX:+PrintFlagsFinal",
|
||||
"-version");
|
||||
|
@ -102,7 +102,7 @@ public class TestShrinkAuxiliaryData {
|
||||
}
|
||||
|
||||
private void performTest(List<String> opts) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, opts);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(opts);
|
||||
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
System.out.println(output.getStdout());
|
||||
|
@ -90,8 +90,7 @@ public class TestLogging {
|
||||
Collections.addAll(testOpts, extraFlags);
|
||||
testOpts.add(RunMixedGC.class.getName());
|
||||
System.out.println(testOpts);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false,
|
||||
testOpts);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(testOpts);
|
||||
return new OutputAnalyzer(pb.start());
|
||||
}
|
||||
}
|
||||
|
@ -84,8 +84,7 @@ public class TestMetaSpaceLog {
|
||||
String testSrc= "-Dtest.src=" + System.getProperty("test.src", ".");
|
||||
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessTools.createTestJvm(
|
||||
"-Xlog:gc*",
|
||||
"-Xbootclasspath/a:.",
|
||||
"-XX:+UnlockDiagnosticVMOptions",
|
||||
|
@ -59,7 +59,7 @@ public class TestAllocateOldGenAt {
|
||||
ArrayList<String> flags = new ArrayList<>();
|
||||
Collections.addAll(flags, commonFlags);
|
||||
Collections.addAll(flags, extraFlags);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flags);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(flags);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
||||
output.shouldHaveExitValue(0);
|
||||
|
@ -89,7 +89,7 @@ public class TestAllocateOldGenAtError {
|
||||
Collections.addAll(flags, commonFlags);
|
||||
Collections.addAll(flags, extraFlags);
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flags);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(flags);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
return output;
|
||||
}
|
||||
|
@ -63,7 +63,7 @@ public class TestAllocateOldGenAtMultiple {
|
||||
Collections.addAll(flags, new String[] {"-XX:+UnlockExperimentalVMOptions",
|
||||
"-XX:AllocateOldGenAt=" + test_dir,
|
||||
"-version"});
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flags);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(flags);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
||||
System.out.println("Output:\n" + output.getOutput());
|
||||
|
@ -72,7 +72,7 @@ public class TestHumongousObjectsOnNvdimm {
|
||||
Collections.addAll(flags, extraFlags);
|
||||
flags.add(HumongousObjectTest.class.getName());
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flags);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(flags);
|
||||
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldHaveExitValue(0);
|
||||
|
@ -71,7 +71,7 @@ public class TestOldObjectsOnNvdimm {
|
||||
Collections.addAll(flags, extraFlags);
|
||||
flags.add(OldObjectTest.class.getName());
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flags);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(flags);
|
||||
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
System.out.println(output.getStdout());
|
||||
|
@ -72,7 +72,7 @@ public class TestYoungObjectsOnDram {
|
||||
Collections.addAll(flags, extraFlags);
|
||||
flags.add(YoungObjectTest.class.getName());
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flags);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(flags);
|
||||
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
System.out.println(output.getStdout());
|
||||
|
@ -43,8 +43,7 @@ import sun.hotspot.WhiteBox;
|
||||
public class TestWBGC {
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-Xbootclasspath/a:.",
|
||||
"-XX:+UnlockDiagnosticVMOptions",
|
||||
"-XX:+WhiteBoxAPI",
|
||||
|
@ -36,7 +36,7 @@ public class TestUnrecognizedVmOption {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(true, "-showversion", "-XX:" + OPTION);
|
||||
ProcessTools.createTestJvm("-showversion", "-XX:" + OPTION);
|
||||
new OutputAnalyzer(pb.start())
|
||||
.shouldNotHaveExitValue(0)
|
||||
.shouldContain("Unrecognized VM option")
|
||||
|
@ -97,7 +97,7 @@ public class BSMCalledTwice implements Opcodes {
|
||||
};
|
||||
|
||||
cl.loadClass(classTestCName);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, "-cp", ".", classTestCName);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm("-cp", ".", classTestCName);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
String test_output = output.getOutput();
|
||||
if (test_output == null) {
|
||||
|
@ -42,7 +42,7 @@ import jdk.test.lib.process.OutputAnalyzer;
|
||||
public class UnsupportedClassFileVersion implements Opcodes {
|
||||
public static void main(String... args) throws Exception {
|
||||
writeClassFile();
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, "-cp", ".", "ClassFile");
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm("-cp", ".", "ClassFile");
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldContain("ClassFile has been compiled by a more recent version of the " +
|
||||
"Java Runtime (class file version 99.0), this version of " +
|
||||
|
@ -48,7 +48,7 @@ public class invocationC1Tests {
|
||||
public static void runTest(String whichTests, String classFileVersion) throws Throwable {
|
||||
System.out.println("\nC1 invocation tests, Tests: " + whichTests +
|
||||
", class file version: " + classFileVersion);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false, "-Xmx128M",
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xmx128M",
|
||||
"-Xcomp", "-XX:TieredStopAtLevel=1",
|
||||
"--add-exports", "java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED",
|
||||
whichTests, "--classfile_version=" + classFileVersion);
|
||||
|
@ -49,7 +49,7 @@ public class invocationGraalTests {
|
||||
public static void runTest(String whichTests, String classFileVersion) throws Throwable {
|
||||
System.out.println("\nGraal invocation tests, Tests: " + whichTests +
|
||||
", class file version: " + classFileVersion);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false, "-Xmx128M",
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xmx128M",
|
||||
"-XX:+UnlockExperimentalVMOptions", "-XX:+EnableJVMCI", "-XX:+UseJVMCICompiler",
|
||||
"--add-exports", "java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED",
|
||||
whichTests, "--classfile_version=" + classFileVersion);
|
||||
|
@ -47,7 +47,7 @@ public class invokeinterfaceTests {
|
||||
public static void runTest(String classFileVersion, String option) throws Throwable {
|
||||
System.out.println("\ninvokeinterface invocation tests, option: " + option +
|
||||
", class file version: " + classFileVersion);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false, "-Xmx128M", option,
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xmx128M", option,
|
||||
"--add-exports", "java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED",
|
||||
"invokeinterface.Generator", "--classfile_version=" + classFileVersion);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
@ -46,7 +46,7 @@ public class invokespecialTests {
|
||||
public static void runTest(String classFileVersion, String option) throws Throwable {
|
||||
System.out.println("\ninvokespecial invocation tests, option: " + option +
|
||||
", class file version: " + classFileVersion);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false, "-Xmx128M", option,
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xmx128M", option,
|
||||
"--add-exports", "java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED",
|
||||
"invokespecial.Generator", "--classfile_version=" + classFileVersion);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
@ -46,7 +46,7 @@ public class invokevirtualTests {
|
||||
public static void runTest(String classFileVersion, String option) throws Throwable {
|
||||
System.out.println("\ninvokevirtual invocation tests, option: " + option +
|
||||
", class file version: " + classFileVersion);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false, "-Xmx128M", option,
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-Xmx128M", option,
|
||||
"--add-exports", "java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED",
|
||||
"invokevirtual.Generator", "--classfile_version=" + classFileVersion);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
|
@ -46,7 +46,7 @@ import jdk.test.lib.process.OutputAnalyzer;
|
||||
public class LargeClassTest implements Opcodes {
|
||||
public static void main(String... args) throws Exception {
|
||||
writeClassFile();
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, "-cp", ".", "Large");
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm("-cp", ".", "Large");
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldHaveExitValue(0);
|
||||
}
|
||||
|
@ -44,8 +44,7 @@ public class RangeCheck {
|
||||
return;
|
||||
}
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-Xmx128m",
|
||||
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:-CreateCoredumpOnCrash",
|
||||
|
@ -41,20 +41,20 @@ import jdk.test.lib.process.OutputAnalyzer;
|
||||
// methods to form command line to create/use shared archive.
|
||||
public class SharedArchiveFile {
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:SharedArchiveFile=./SharedArchiveFile.jsa",
|
||||
"-Xshare:dump", "-Xlog:cds");
|
||||
OutputAnalyzer out = CDSTestUtils.executeAndLog(pb, "SharedArchiveFile");
|
||||
CDSTestUtils.checkDump(out);
|
||||
|
||||
// -XX:+DumpSharedSpaces should behave the same as -Xshare:dump
|
||||
pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
pb = ProcessTools.createTestJvm(
|
||||
"-XX:SharedArchiveFile=./SharedArchiveFile.jsa",
|
||||
"-XX:+DumpSharedSpaces", "-Xlog:cds");
|
||||
out = CDSTestUtils.executeAndLog(pb, "SharedArchiveFile");
|
||||
CDSTestUtils.checkDump(out);
|
||||
|
||||
pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
pb = ProcessTools.createTestJvm(
|
||||
"-XX:SharedArchiveFile=./SharedArchiveFile.jsa",
|
||||
"-Xshare:on", "-version");
|
||||
out = CDSTestUtils.executeAndLog(pb, "SharedArchiveFile");
|
||||
|
@ -74,8 +74,7 @@ public class DumpClassList {
|
||||
String appendJar = JarBuilder.build("bootappend", "boot/append/Foo");
|
||||
|
||||
// dump class list
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:DumpLoadedClassList=" + classList,
|
||||
"--patch-module=java.base=" + patchJar,
|
||||
"-Xbootclasspath/a:" + appendJar,
|
||||
|
@ -83,7 +83,7 @@ public class GraalWithLimitedMetaspace {
|
||||
}
|
||||
|
||||
static void dumpLoadedClasses(String[] expectedClasses) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:DumpLoadedClassList=" + CLASSLIST_FILE,
|
||||
// trigger JVMCI runtime init so that JVMCI classes will be
|
||||
// included in the classlist
|
||||
@ -110,7 +110,7 @@ public class GraalWithLimitedMetaspace {
|
||||
}
|
||||
|
||||
static void dumpArchive() throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-cp",
|
||||
TESTJAR,
|
||||
"-XX:SharedClassListFile=" + CLASSLIST_FILE,
|
||||
|
@ -238,7 +238,7 @@ public class TestCommon extends CDSTestUtils {
|
||||
}
|
||||
}
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, cmd);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(cmd);
|
||||
if (opts.appJarDir != null) {
|
||||
pb.directory(new File(opts.appJarDir));
|
||||
}
|
||||
@ -384,7 +384,7 @@ public class TestCommon extends CDSTestUtils {
|
||||
}
|
||||
}
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, cmd);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(cmd);
|
||||
if (opts.appJarDir != null) {
|
||||
pb.directory(new File(opts.appJarDir));
|
||||
}
|
||||
|
@ -242,7 +242,7 @@ class DynamicArchiveTestBase {
|
||||
if (!executedIn_run) {
|
||||
throw new Exception("Test error: dynamic archive tests must be executed via DynamicArchiveTestBase.run()");
|
||||
}
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, cmdLine);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(cmdLine);
|
||||
if (jarDir != null) {
|
||||
pb.directory(new File(jarDir));
|
||||
}
|
||||
|
@ -105,8 +105,7 @@ public class NoClassToArchive extends DynamicArchiveTestBase {
|
||||
private static void doTestCustomBase(String baseArchiveName, String topArchiveName) throws Exception {
|
||||
String appJar = ClassFileInstaller.getJarPath("strConcatApp.jar");
|
||||
// dump class list by running the StrConcatApp
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:DumpLoadedClassList=" + classList,
|
||||
"-cp",
|
||||
appJar,
|
||||
|
@ -50,7 +50,7 @@ public class SharedStringsBasic {
|
||||
String sharedArchiveConfigFile =
|
||||
TestCommon.getSourceFile("SharedStringsBasic.txt").toString();
|
||||
|
||||
ProcessBuilder dumpPb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder dumpPb = ProcessTools.createTestJvm(
|
||||
TestCommon.concat(vmOptionsPrefix,
|
||||
"-cp", appJar,
|
||||
"-XX:SharedArchiveConfigFile=" + sharedArchiveConfigFile,
|
||||
@ -62,7 +62,7 @@ public class SharedStringsBasic {
|
||||
.shouldContain("Shared string table stats")
|
||||
.shouldHaveExitValue(0);
|
||||
|
||||
ProcessBuilder runPb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder runPb = ProcessTools.createTestJvm(
|
||||
TestCommon.concat(vmOptionsPrefix,
|
||||
"-cp", appJar,
|
||||
"-XX:SharedArchiveFile=./SharedStringsBasic.jsa",
|
||||
|
@ -44,7 +44,7 @@ public class SysDictCrash {
|
||||
|
||||
// SharedBaseAddress=0 puts the archive at a very high address on solaris,
|
||||
// which provokes the crash.
|
||||
ProcessBuilder dumpPb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder dumpPb = ProcessTools.createTestJvm(
|
||||
TestCommon.concat(vmOptionsPrefix,
|
||||
"-XX:+UseG1GC", "-XX:MaxRAMPercentage=12.5",
|
||||
"-cp", ".",
|
||||
@ -69,7 +69,7 @@ public class SysDictCrash {
|
||||
return;
|
||||
}
|
||||
|
||||
ProcessBuilder runPb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder runPb = ProcessTools.createTestJvm(
|
||||
TestCommon.concat(vmOptionsPrefix,
|
||||
"-XX:+UseG1GC", "-XX:MaxRAMPercentage=12.5",
|
||||
"-XX:SharedArchiveFile=./SysDictCrash.jsa",
|
||||
|
@ -57,8 +57,7 @@ public class HandshakeTransitionTest {
|
||||
useJVMCICompilerStr = "-XX:+UnlockExperimentalVMOptions";
|
||||
}
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessTools.createTestJvm(
|
||||
"-Djava.library.path=" + lib,
|
||||
"-XX:+SafepointALot",
|
||||
"-XX:+HandshakeALot",
|
||||
|
@ -63,8 +63,7 @@ public class PatchModuleClassList {
|
||||
String moduleJar = BasicJarBuilder.getTestJar("javanaming.jar");
|
||||
|
||||
String classList = "javanaming.list";
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:DumpLoadedClassList=" + classList,
|
||||
"--patch-module=java.naming=" + moduleJar,
|
||||
"PatchModuleMain", BOOT_CLASS.replace('/', '.'));
|
||||
@ -98,8 +97,7 @@ public class PatchModuleClassList {
|
||||
moduleJar = BasicJarBuilder.getTestJar("javasql.jar");
|
||||
|
||||
classList = "javasql.list";
|
||||
pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
pb = ProcessTools.createTestJvm(
|
||||
"-XX:DumpLoadedClassList=" + classList,
|
||||
"--patch-module=java.sql=" + moduleJar,
|
||||
"PatchModuleMain", PLATFORM_CLASS.replace('/', '.'));
|
||||
@ -131,8 +129,7 @@ public class PatchModuleClassList {
|
||||
moduleJar = BasicJarBuilder.getTestJar("hello.jar");
|
||||
|
||||
classList = "hello.list";
|
||||
pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
pb = ProcessTools.createTestJvm(
|
||||
"-XX:DumpLoadedClassList=" + classList,
|
||||
"-Xbootclasspath/a:" + moduleJar,
|
||||
"Hello");
|
||||
|
@ -68,8 +68,7 @@ public class AvailableProcessors {
|
||||
// Get the java command we want to execute
|
||||
// Enable logging for easier failure diagnosis
|
||||
ProcessBuilder master =
|
||||
ProcessTools.createJavaProcessBuilder(false,
|
||||
"-Xlog:os=trace",
|
||||
ProcessTools.createJavaProcessBuilder("-Xlog:os=trace",
|
||||
"AvailableProcessors");
|
||||
|
||||
int[] expected = new int[] { 1, available/2, available-1, available };
|
||||
|
@ -41,8 +41,7 @@ public class TestUseCpuAllocPath {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(false,
|
||||
"-Xlog:os=trace",
|
||||
ProcessTools.createJavaProcessBuilder("-Xlog:os=trace",
|
||||
"-XX:+UnlockDiagnosticVMOptions",
|
||||
"-XX:+UseCpuAllocPath",
|
||||
"-version");
|
||||
|
@ -125,7 +125,7 @@ public class OverriderMsg {
|
||||
public static void main(String... args) throws Exception {
|
||||
dump_HasFinal();
|
||||
dump_Overrider();
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, "-cp", ".", "Overrider");
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm("-cp", ".", "Overrider");
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldContain(
|
||||
"java.lang.VerifyError: class Overrider overrides final method HasFinal.m(Ljava/lang/String;)V");
|
||||
|
@ -69,7 +69,7 @@ public class TestANewArray {
|
||||
byte[] classFile_254 = dumpClassFile(cfv, test_Dimension_254, array_Dimension_254);
|
||||
writeClassFileFromByteArray(classFile_254);
|
||||
System.err.println("Running with cfv: " + cfv + ", test_Dimension_254");
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, "-verify", "-cp", ".", classCName);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm("-verify", "-cp", ".", classCName);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldNotContain("java.lang.VerifyError");
|
||||
output.shouldHaveExitValue(0);
|
||||
@ -78,7 +78,7 @@ public class TestANewArray {
|
||||
byte[] classFile_255 = dumpClassFile(cfv, test_Dimension_255, array_Dimension_255);
|
||||
writeClassFileFromByteArray(classFile_255);
|
||||
System.err.println("Running with cfv: " + cfv + ", test_Dimension_255");
|
||||
pb = ProcessTools.createJavaProcessBuilder(true, "-verify", "-cp", ".", classCName);
|
||||
pb = ProcessTools.createTestJvm("-verify", "-cp", ".", classCName);
|
||||
output = new OutputAnalyzer(pb.start());
|
||||
// If anewarray has an operand with 255 array dimensions then VerifyError should
|
||||
// be thrown because the resulting array would have 256 dimensions.
|
||||
@ -95,7 +95,7 @@ public class TestANewArray {
|
||||
byte[] classFile_264 = dumpClassFile(cfv, test_Dimension_264, array_Dimension_264);
|
||||
writeClassFileFromByteArray(classFile_264);
|
||||
System.err.println("Running with cfv: " + cfv + ", test_Dimension_264");
|
||||
pb = ProcessTools.createJavaProcessBuilder(true, "-verify", "-cp", ".", classCName);
|
||||
pb = ProcessTools.createTestJvm("-verify", "-cp", ".", classCName);
|
||||
output = new OutputAnalyzer(pb.start());
|
||||
output.shouldContain("java.lang.ClassFormatError");
|
||||
output.shouldHaveExitValue(1);
|
||||
|
@ -48,7 +48,7 @@ public class TestMultiANewArray {
|
||||
int cfv = Integer.parseInt(args[0]);
|
||||
writeClassFile(cfv);
|
||||
System.err.println("Running with cfv: " + cfv);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, "-cp", ".", "ClassFile");
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm("-cp", ".", "ClassFile");
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
output.shouldContain("VerifyError");
|
||||
output.shouldHaveExitValue(1);
|
||||
|
@ -50,7 +50,7 @@ public class GetObjectSizeClass {
|
||||
pb.command(new String[] { JDKToolFinder.getJDKTool("jar"), "cmf", "MANIFEST.MF", "agent.jar", "GetObjectSizeClassAgent.class"});
|
||||
pb.start().waitFor();
|
||||
|
||||
ProcessBuilder pt = ProcessTools.createJavaProcessBuilder(true, "-javaagent:agent.jar", "GetObjectSizeClassAgent");
|
||||
ProcessBuilder pt = ProcessTools.createTestJvm("-javaagent:agent.jar", "GetObjectSizeClassAgent");
|
||||
OutputAnalyzer output = new OutputAnalyzer(pt.start());
|
||||
|
||||
output.stdoutShouldContain("GetObjectSizeClass passed");
|
||||
|
@ -57,7 +57,7 @@ public class GetObjectSizeOverflow {
|
||||
pb.command(new String[] { JDKToolFinder.getJDKTool("jar"), "cmf", "MANIFEST.MF", "agent.jar", "GetObjectSizeOverflowAgent.class"});
|
||||
pb.start().waitFor();
|
||||
|
||||
ProcessBuilder pt = ProcessTools.createJavaProcessBuilder(true, "-Xmx4000m", "-javaagent:agent.jar", "GetObjectSizeOverflowAgent");
|
||||
ProcessBuilder pt = ProcessTools.createTestJvm("-Xmx4000m", "-javaagent:agent.jar", "GetObjectSizeOverflowAgent");
|
||||
OutputAnalyzer output = new OutputAnalyzer(pt.start());
|
||||
|
||||
if (output.getStdout().contains("Could not reserve enough space") || output.getStderr().contains("java.lang.OutOfMemoryError")) {
|
||||
|
@ -71,8 +71,7 @@ public class TestLogRotation {
|
||||
}
|
||||
|
||||
public static void runTest(int numberOfFiles) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-cp", System.getProperty("java.class.path"),
|
||||
"-Xlog:gc=debug:" + logFileName
|
||||
+ "::filesize=" + logFileSizeK + "k"
|
||||
|
@ -98,7 +98,7 @@ public class ClhsdbCDSCore {
|
||||
List<String> options = new ArrayList<>();
|
||||
options.addAll(Arrays.asList(jArgs));
|
||||
crashOut =
|
||||
ProcessTools.executeProcess(getTestJavaCommandlineWithPrefix(
|
||||
ProcessTools.executeProcess(getTestJvmCommandlineWithPrefix(
|
||||
RUN_SHELL_NO_LIMIT, options.toArray(new String[0])));
|
||||
} catch (Throwable t) {
|
||||
throw new Error("Can't execute the java cds process.", t);
|
||||
@ -253,9 +253,9 @@ public class ClhsdbCDSCore {
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String[] getTestJavaCommandlineWithPrefix(String prefix, String... args) {
|
||||
private static String[] getTestJvmCommandlineWithPrefix(String prefix, String... args) {
|
||||
try {
|
||||
String cmd = ProcessTools.getCommandLine(ProcessTools.createJavaProcessBuilder(true, args));
|
||||
String cmd = ProcessTools.getCommandLine(ProcessTools.createTestJvm(args));
|
||||
return new String[]{"sh", "-c", prefix + cmd};
|
||||
} catch (Throwable t) {
|
||||
throw new Error("Can't create process builder: " + t, t);
|
||||
|
@ -88,7 +88,7 @@ public class TestJmapCore {
|
||||
}
|
||||
|
||||
static void test(String type) throws Throwable {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, "-XX:+CreateCoredumpOnCrash",
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm("-XX:+CreateCoredumpOnCrash",
|
||||
"-Xmx512m", "-XX:MaxMetaspaceSize=64m", "-XX:+CrashOnOutOfMemoryError",
|
||||
TestJmapCore.class.getName(), type);
|
||||
|
||||
|
@ -174,9 +174,7 @@ public class CtwRunner {
|
||||
while (!done) {
|
||||
String[] cmd = cmd(classStart, classStop);
|
||||
try {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
/* addTestVmAndJavaOptions = */ true,
|
||||
cmd);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(cmd);
|
||||
String commandLine = pb.command()
|
||||
.stream()
|
||||
.collect(Collectors.joining(" "));
|
||||
|
@ -47,7 +47,7 @@ public class JitTesterDriver {
|
||||
}
|
||||
OutputAnalyzer oa;
|
||||
try {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, args);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(args);
|
||||
oa = new OutputAnalyzer(pb.start());
|
||||
} catch (Exception e) {
|
||||
throw new Error("Unexpected exception on test jvm start :" + e, e);
|
||||
|
@ -101,7 +101,7 @@ public abstract class CtwTest {
|
||||
cmd[i] = cmd[i].replace("*", "\"*\"");
|
||||
}
|
||||
}
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, cmd);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(cmd);
|
||||
OutputAnalyzer output = new OutputAnalyzer(pb.start());
|
||||
dump(output, "compile");
|
||||
output.shouldHaveExitValue(0);
|
||||
|
@ -94,7 +94,7 @@ public class MemOptionsTest {
|
||||
var cmd = new ArrayList<String>();
|
||||
Collections.addAll(cmd, opts);
|
||||
cmd.add(MemStat.class.getName());
|
||||
var pb = ProcessTools.createJavaProcessBuilder(true, cmd);
|
||||
var pb = ProcessTools.createTestJvm(cmd);
|
||||
var output = new OutputAnalyzer(pb.start());
|
||||
if (output.getExitValue() != 0) {
|
||||
output.reportDiagnosticSummary();
|
||||
@ -107,7 +107,7 @@ public class MemOptionsTest {
|
||||
var cmd = new ArrayList<String>();
|
||||
Collections.addAll(cmd, opts);
|
||||
cmd.add(MemStat.class.getName());
|
||||
var pb = ProcessTools.createJavaProcessBuilder(true, cmd);
|
||||
var pb = ProcessTools.createTestJvm(cmd);
|
||||
var output = new OutputAnalyzer(pb.start());
|
||||
if (output.getExitValue() == 0) {
|
||||
output.reportDiagnosticSummary();
|
||||
|
@ -54,7 +54,7 @@ public class Test {
|
||||
public static void main(String[] args) throws Exception {
|
||||
{
|
||||
System.out.println("TieredCompilation is enabled");
|
||||
var pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
var pb = ProcessTools.createTestJvm(
|
||||
"-XX:+TieredCompilation",
|
||||
"-XX:+PrintTieredEvents",
|
||||
"-version");
|
||||
@ -67,7 +67,7 @@ public class Test {
|
||||
}
|
||||
{
|
||||
System.out.println("TieredCompilation is disabled");
|
||||
var pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
var pb = ProcessTools.createTestJvm(
|
||||
"-XX:-TieredCompilation",
|
||||
"-XX:+PrintTieredEvents",
|
||||
"-version");
|
||||
|
@ -39,8 +39,8 @@ import jdk.test.lib.process.ProcessTools;
|
||||
public class TestMaxMetaspaceSize {
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(true, "-XX:MaxMetaspaceSize=100m",
|
||||
maxMetaspaceSize.class.getName());
|
||||
ProcessTools.createTestJvm("-XX:MaxMetaspaceSize=100m",
|
||||
maxMetaspaceSize.class.getName());
|
||||
OutputAnalyzer out = new OutputAnalyzer(pb.start());
|
||||
|
||||
if (out.getExitValue() == 0) {
|
||||
|
@ -69,8 +69,7 @@ import java.util.Arrays;
|
||||
|
||||
public class TestDriver {
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-agentlib:retransform003-01=id=1 can_retransform_classes=1",
|
||||
"-agentlib:retransform003-02=id=2 can_retransform_classes=0",
|
||||
"-agentlib:retransform003-03=id=3 can_retransform_classes=1",
|
||||
|
@ -58,8 +58,7 @@ import java.util.Arrays;
|
||||
|
||||
public class TestDriver {
|
||||
public static void main(String[] args) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-agentlib:SetNativeMethodPrefix001=trace=all",
|
||||
"-agentlib:SetNativeMethodPrefix002-01=trace=all prefix=wa_",
|
||||
"-agentlib:SetNativeMethodPrefix002-02=trace=all prefix=wb_",
|
||||
|
@ -78,7 +78,7 @@ public class Test {
|
||||
public static void main(String[] args) throws Exception {
|
||||
{
|
||||
System.out.println("SegmentedCodeCache is enabled");
|
||||
var pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
var pb = ProcessTools.createTestJvm(
|
||||
"-XX:+SegmentedCodeCache",
|
||||
"-XX:+PrintCodeCache",
|
||||
"-version");
|
||||
@ -88,7 +88,7 @@ public class Test {
|
||||
}
|
||||
{
|
||||
System.out.println("SegmentedCodeCache is disabled");
|
||||
var pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
var pb = ProcessTools.createTestJvm(
|
||||
"-XX:-SegmentedCodeCache",
|
||||
"-XX:+PrintCodeCache",
|
||||
"-version");
|
||||
|
@ -46,7 +46,7 @@ public class Test {
|
||||
private static String REGEXP = "^(CodeCache|(CodeHeap.*)): size=\\d+Kb used=\\d+Kb max_used=\\d+Kb free=\\d+Kb";
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
var pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
var pb = ProcessTools.createTestJvm(
|
||||
"-XX:-PrintCodeCache",
|
||||
"-XX:+PrintCodeCacheOnCompilation",
|
||||
"-XX:-Inline",
|
||||
|
@ -104,7 +104,7 @@ public class JITDebug {
|
||||
}
|
||||
|
||||
void testLaunch() {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm();
|
||||
List largs = pb.command();
|
||||
largs.add("-classpath");
|
||||
largs.add(Utils.TEST_CLASSES);
|
||||
|
@ -82,7 +82,7 @@ public class PrivateTransportTest {
|
||||
String libName = transportLib.getFileName().toString().replace("dt_socket", "private_dt_socket");
|
||||
Files.copy(transportLib, Paths.get(Utils.TEST_CLASSES).resolve(libName));
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-agentlib:jdwp=transport=private_dt_socket,server=y,suspend=n",
|
||||
"-classpath", Utils.TEST_CLASSES,
|
||||
"HelloWorld");
|
||||
|
@ -81,7 +81,7 @@ public class CDSJDITest {
|
||||
outputDump.shouldHaveExitValue(0);
|
||||
|
||||
// Run the test specified JDI test
|
||||
pb = ProcessTools.createJavaProcessBuilder(true, testArgs);
|
||||
pb = ProcessTools.createTestJvm(testArgs);
|
||||
OutputAnalyzer outputRun = executeAndLog(pb, "exec");
|
||||
try {
|
||||
outputRun.shouldContain("sharing");
|
||||
|
@ -69,7 +69,6 @@ public class Debuggee implements Closeable {
|
||||
private String transport = "dt_socket";
|
||||
private String address = null;
|
||||
private boolean suspended = true;
|
||||
private boolean addTestVmAndJavaOptions = true;
|
||||
|
||||
private Launcher(String mainClass) {
|
||||
this.mainClass = mainClass;
|
||||
@ -101,11 +100,6 @@ public class Debuggee implements Closeable {
|
||||
suspended = value;
|
||||
return this;
|
||||
}
|
||||
// default is "true"
|
||||
public Launcher addTestVmAndJavaOptions(boolean value) {
|
||||
addTestVmAndJavaOptions = value;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ProcessBuilder prepare() {
|
||||
List<String> debuggeeArgs = new LinkedList<>();
|
||||
@ -117,8 +111,7 @@ public class Debuggee implements Closeable {
|
||||
+ ",server=y,suspend=" + (suspended ? "y" : "n"));
|
||||
debuggeeArgs.addAll(options);
|
||||
debuggeeArgs.add(mainClass);
|
||||
return ProcessTools.createJavaProcessBuilder(addTestVmAndJavaOptions,
|
||||
debuggeeArgs.toArray(new String[0]));
|
||||
return ProcessTools.createTestJvm(debuggeeArgs);
|
||||
}
|
||||
|
||||
public Debuggee launch(String name) {
|
||||
|
@ -38,7 +38,7 @@ import jdk.test.lib.process.ProcessTools;
|
||||
public class MacPath {
|
||||
public static void main(String args[]) throws Exception {
|
||||
final ProcessBuilder pb =
|
||||
ProcessTools.createJavaProcessBuilder(true, MacPathTest.class.getName());
|
||||
ProcessTools.createTestJvm(MacPathTest.class.getName());
|
||||
final Map<String, String> env = pb.environment();
|
||||
env.put("LC_ALL", "en_US.UTF-8");
|
||||
Process p = ProcessTools.startProcess("Mac Path Test", pb);
|
||||
|
@ -81,7 +81,7 @@ public class RenamePackageTest {
|
||||
}
|
||||
|
||||
private static void runTestSerialDriver() throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-classpath",
|
||||
SHARE.toString()
|
||||
+ File.pathSeparator
|
||||
@ -93,7 +93,7 @@ public class RenamePackageTest {
|
||||
}
|
||||
|
||||
private static void runInstallSerialDriver() throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-classpath",
|
||||
SHARE.toString()
|
||||
+ File.pathSeparator
|
||||
|
@ -31,14 +31,14 @@
|
||||
*/
|
||||
|
||||
import jdk.test.lib.process.OutputAnalyzer;
|
||||
import static jdk.test.lib.process.ProcessTools.createJavaProcessBuilder;
|
||||
import static jdk.test.lib.process.ProcessTools.createTestJvm;
|
||||
import static jdk.test.lib.process.ProcessTools.executeProcess;
|
||||
|
||||
public class ShutdownInterruptedMain {
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
if (args.length > 0) {
|
||||
ProcessBuilder pb = createJavaProcessBuilder(true, "ShutdownInterruptedMain");
|
||||
ProcessBuilder pb = createTestJvm("ShutdownInterruptedMain");
|
||||
OutputAnalyzer output = executeProcess(pb);
|
||||
output.shouldContain("Shutdown Hook");
|
||||
output.shouldHaveExitValue(0);
|
||||
|
@ -37,7 +37,7 @@ public class CallerFromMain {
|
||||
private static final StackWalker sw = StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE);
|
||||
public static void main(String[] args) throws Exception {
|
||||
if (args.length > 0) {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, "CallerFromMain");
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm("CallerFromMain");
|
||||
OutputAnalyzer output = ProcessTools.executeProcess(pb);
|
||||
System.out.println(output.getOutput());
|
||||
output.shouldHaveExitValue(0);
|
||||
|
@ -49,7 +49,7 @@ public class MacJNUEncoding {
|
||||
|
||||
final String locale = args[2];
|
||||
System.out.println("Running test for locale: " + locale);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
ExpectedEncoding.class.getName(), args[0], args[1]);
|
||||
Map<String, String> env = pb.environment();
|
||||
env.put("LANG", locale);
|
||||
|
@ -29,7 +29,7 @@ import jdk.test.lib.process.ProcessTools;
|
||||
public class TestDaemonThreadLauncher {
|
||||
public static void main(String args[]) throws Exception {
|
||||
for(int i=0; i<50; i++) {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, "-javaagent:DummyAgent.jar", "TestDaemonThread", ".");
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm("-javaagent:DummyAgent.jar", "TestDaemonThread", ".");
|
||||
OutputAnalyzer analyzer = ProcessTools.executeProcess(pb);
|
||||
analyzer.shouldNotContain("ASSERTION FAILED");
|
||||
analyzer.shouldHaveExitValue(0);
|
||||
|
@ -54,7 +54,7 @@ import static org.testng.Assert.assertTrue;
|
||||
public class DefaultCharsetTest {
|
||||
|
||||
private static final ProcessBuilder pb
|
||||
= ProcessTools.createJavaProcessBuilder(true, Default.class.getName());
|
||||
= ProcessTools.createTestJvm(Default.class.getName());
|
||||
private static final Map<String, String> env = pb.environment();
|
||||
private static String UNSUPPORTED = null;
|
||||
|
||||
|
@ -41,7 +41,7 @@ import jdk.test.lib.process.ProcessTools;
|
||||
public class MacPathTest {
|
||||
|
||||
public static void main(String args[]) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, MacPath.class.getName());
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(MacPath.class.getName());
|
||||
pb.environment().put("LC_ALL", "en_US.UTF-8");
|
||||
ProcessTools.executeProcess(pb)
|
||||
.outputTo(System.out)
|
||||
|
@ -131,7 +131,7 @@ public class TestCrossProcessStreaming {
|
||||
|
||||
static Process start() throws Exception {
|
||||
String[] args = {"-XX:StartFlightRecording", EventProducer.class.getName()};
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false, args);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(args);
|
||||
return ProcessTools.startProcess("Event-Producer", pb,
|
||||
line -> line.contains(MAIN_STARTED),
|
||||
0, TimeUnit.SECONDS);
|
||||
|
@ -63,7 +63,7 @@ public final class TestProcess implements AutoCloseable {
|
||||
"-XX:StartFlightRecording:settings=none",
|
||||
TestProcess.class.getName(), path.toString()
|
||||
};
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(false, args);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(args);
|
||||
process = ProcessTools.startProcess(name, pb);
|
||||
}
|
||||
|
||||
|
@ -91,8 +91,7 @@ public class TestDumpReason {
|
||||
|
||||
private static long runProcess(Class<?> crasher) throws Exception {
|
||||
System.out.println("Test case for " + crasher.getName());
|
||||
Process p = ProcessTools.createJavaProcessBuilder(
|
||||
true,
|
||||
Process p = ProcessTools.createTestJvm(
|
||||
"-Xmx64m",
|
||||
"-XX:-CreateCoredumpOnCrash",
|
||||
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
|
@ -91,7 +91,7 @@ public class TestShutdownEvent {
|
||||
}
|
||||
|
||||
private static void runSubtest(int subTestIndex) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-Xlog:jfr=debug",
|
||||
"-XX:-CreateCoredumpOnCrash",
|
||||
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
|
@ -110,7 +110,7 @@ public class TestDumpOnCrash {
|
||||
private static long runProcess(Class<?> crasher, String signal, boolean disk) throws Exception {
|
||||
System.out.println("Test case for crasher " + crasher.getName());
|
||||
final String flightRecordingOptions = "dumponexit=true,disk=" + Boolean.toString(disk);
|
||||
Process p = ProcessTools.createJavaProcessBuilder(true,
|
||||
Process p = ProcessTools.createTestJvm(
|
||||
"-Xmx64m",
|
||||
"-XX:-CreateCoredumpOnCrash",
|
||||
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
|
@ -51,7 +51,7 @@ public class TestJfrJavaBase {
|
||||
public static void main(String[] args) throws Exception {
|
||||
OutputAnalyzer output;
|
||||
if (args.length == 0) {
|
||||
output = ProcessTools.executeProcess(ProcessTools.createJavaProcessBuilder(false,
|
||||
output = ProcessTools.executeProcess(ProcessTools.createJavaProcessBuilder(
|
||||
"-Dtest.jdk=" + System.getProperty("test.jdk"),
|
||||
"--limit-modules", "java.base", "-cp", System.getProperty("java.class.path"),
|
||||
TestJfrJavaBase.class.getName(), "runtest"));
|
||||
|
@ -94,7 +94,7 @@ public class TestDumpOnExit {
|
||||
}
|
||||
|
||||
private static void testDumponExit(Supplier<Path> p,String... args) throws Exception, IOException {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, args);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(args);
|
||||
OutputAnalyzer output = ProcessTools.executeProcess(pb);
|
||||
System.out.println(output.getOutput());
|
||||
output.shouldHaveExitValue(0);
|
||||
|
@ -485,21 +485,19 @@ public class TestMemoryOptions {
|
||||
final String flightRecorderOptions = tc.getTestString();
|
||||
ProcessBuilder pb;
|
||||
if (flightRecorderOptions != null) {
|
||||
pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
"--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED",
|
||||
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
flightRecorderOptions,
|
||||
"-XX:StartFlightRecording",
|
||||
SUT.class.getName(),
|
||||
tc.getTestName());
|
||||
pb = ProcessTools.createTestJvm("--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED",
|
||||
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
flightRecorderOptions,
|
||||
"-XX:StartFlightRecording",
|
||||
SUT.class.getName(),
|
||||
tc.getTestName());
|
||||
} else {
|
||||
// default, no FlightRecorderOptions passed
|
||||
pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
"--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED",
|
||||
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:StartFlightRecording",
|
||||
SUT.class.getName(),
|
||||
tc.getTestName());
|
||||
pb = ProcessTools.createTestJvm("--add-exports=jdk.jfr/jdk.jfr.internal=ALL-UNNAMED",
|
||||
"--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED",
|
||||
"-XX:StartFlightRecording",
|
||||
SUT.class.getName(),
|
||||
tc.getTestName());
|
||||
}
|
||||
|
||||
System.out.println("Driver launching SUT with string: " + flightRecorderOptions != null ? flightRecorderOptions : "default");
|
||||
|
@ -57,14 +57,14 @@ public class TestMultipleStartupRecordings {
|
||||
|
||||
private static void launchUnary(String options) throws Exception {
|
||||
String recording1 = START_FLIGHT_RECORDING + (options != null ? options : "");
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, recording1, MainClass.class.getName());
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(recording1, MainClass.class.getName());
|
||||
test(pb, "Started recording 1");
|
||||
}
|
||||
|
||||
private static void launchBinary(String options1, String options2) throws Exception {
|
||||
String recording1 = START_FLIGHT_RECORDING + (options1 != null ? options1 : "");
|
||||
String recording2 = START_FLIGHT_RECORDING + (options2 != null ? options2 : "");
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, recording1, recording2, MainClass.class.getName());
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(recording1, recording2, MainClass.class.getName());
|
||||
test(pb, "Started recording 1", "Started recording 2");
|
||||
}
|
||||
|
||||
@ -72,7 +72,7 @@ public class TestMultipleStartupRecordings {
|
||||
String recording1 = START_FLIGHT_RECORDING + (options1 != null ? options1 : "");
|
||||
String recording2 = START_FLIGHT_RECORDING + (options2 != null ? options2 : "");
|
||||
String recording3 = START_FLIGHT_RECORDING + (options3 != null ? options3 : "");
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, recording1, recording2, recording3, MainClass.class.getName());
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(recording1, recording2, recording3, MainClass.class.getName());
|
||||
test(pb, "Started recording 1", "Started recording 2", "Started recording 3");
|
||||
}
|
||||
|
||||
@ -96,7 +96,7 @@ public class TestMultipleStartupRecordings {
|
||||
String flightRecorderOptions = FLIGHT_RECORDER_OPTIONS + "=maxchunksize=8m";
|
||||
String recording1 = START_FLIGHT_RECORDING + "=filename=recording1.jfr";
|
||||
String recording2 = START_FLIGHT_RECORDING + "=name=myrecording,filename=recording2.jfr";
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, flightRecorderOptions, recording1, recording2, MainClass.class.getName());
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(flightRecorderOptions, recording1, recording2, MainClass.class.getName());
|
||||
test(pb, "Started recording 1", "Started recording 2");
|
||||
}
|
||||
|
||||
|
@ -106,7 +106,7 @@ public class TestRetransformUsingLog {
|
||||
}
|
||||
System.out.println();
|
||||
System.out.println();
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, args.toArray(new String[0]));
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(args);
|
||||
OutputAnalyzer out = ProcessTools.executeProcess(pb);
|
||||
System.out.println(out.getOutput());
|
||||
verifier.accept(out);
|
||||
|
@ -55,7 +55,7 @@ public class TestStartDuration {
|
||||
}
|
||||
|
||||
private static void testDurationInRange(String duration, Duration durationString, boolean wait) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:StartFlightRecording=name=TestStartDuration,duration=" + duration, TestValues.class.getName(),
|
||||
durationString.toString(), wait ? "wait" : "");
|
||||
OutputAnalyzer out = ProcessTools.executeProcess(pb);
|
||||
@ -65,7 +65,7 @@ public class TestStartDuration {
|
||||
|
||||
|
||||
private static void testDurationJavaVersion(String duration, boolean inRange) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:StartFlightRecording=name=TestStartDuration,duration=" + duration, "-version");
|
||||
OutputAnalyzer out = ProcessTools.executeProcess(pb);
|
||||
|
||||
|
@ -47,7 +47,7 @@ public class TestStartName {
|
||||
}
|
||||
|
||||
private static void testName(String recordingName, boolean validName) throws Exception {
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
"-XX:StartFlightRecording=name=" + recordingName, TestName.class.getName(), recordingName);
|
||||
OutputAnalyzer out = ProcessTools.executeProcess(pb);
|
||||
|
||||
|
@ -119,7 +119,7 @@ public class SSLEngineKeyLimit {
|
||||
System.out.println("test.java.opts: " +
|
||||
System.getProperty("test.java.opts"));
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
Utils.addTestJavaOpts("SSLEngineKeyLimit", "p", args[1]));
|
||||
|
||||
OutputAnalyzer output = ProcessTools.executeProcess(pb);
|
||||
|
@ -189,7 +189,7 @@ public class ResumptionUpdateBoundValues {
|
||||
System.out.println("test.java.opts: " +
|
||||
System.getProperty("test.java.opts"));
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
Utils.addTestJavaOpts("ResumptionUpdateBoundValues", "p"));
|
||||
|
||||
OutputAnalyzer output = ProcessTools.executeProcess(pb);
|
||||
|
@ -124,7 +124,7 @@ public class SSLSocketKeyLimit {
|
||||
System.out.println("test.java.opts: " +
|
||||
System.getProperty("test.java.opts"));
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true,
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(
|
||||
Utils.addTestJavaOpts("SSLSocketKeyLimit", "p", args[1]));
|
||||
|
||||
OutputAnalyzer output = ProcessTools.executeProcess(pb);
|
||||
|
@ -256,7 +256,7 @@ public class CDSTestUtils {
|
||||
for (String s : opts.suffix) cmd.add(s);
|
||||
|
||||
String[] cmdLine = cmd.toArray(new String[cmd.size()]);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, cmdLine);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(cmdLine);
|
||||
return executeAndLog(pb, "dump");
|
||||
}
|
||||
|
||||
@ -414,7 +414,7 @@ public class CDSTestUtils {
|
||||
for (String s : opts.suffix) cmd.add(s);
|
||||
|
||||
String[] cmdLine = cmd.toArray(new String[cmd.size()]);
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, cmdLine);
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(cmdLine);
|
||||
return executeAndLog(pb, "exec");
|
||||
}
|
||||
|
||||
|
@ -74,7 +74,7 @@ public class AppExecutorHelper {
|
||||
Collections.addAll(arguments, classArguments);
|
||||
}
|
||||
|
||||
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(true, arguments.toArray(new String[0]));
|
||||
ProcessBuilder pb = ProcessTools.createTestJvm(arguments);
|
||||
return ProcessTools.executeProcess(pb);
|
||||
}
|
||||
}
|
||||
|
@ -273,19 +273,7 @@ public final class ProcessTools {
|
||||
* @return The ProcessBuilder instance representing the java command.
|
||||
*/
|
||||
public static ProcessBuilder createJavaProcessBuilder(List<String> command) {
|
||||
return createJavaProcessBuilder(false, command);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create ProcessBuilder using the java launcher from the jdk to be tested.
|
||||
*
|
||||
* @param addTestVmAndJavaOptions If true, adds test.vm.opts and test.java.opts
|
||||
* to the java arguments.
|
||||
* @param command Arguments to pass to the java command.
|
||||
* @return The ProcessBuilder instance representing the java command.
|
||||
*/
|
||||
public static ProcessBuilder createJavaProcessBuilder(boolean addTestVmAndJavaOptions, List<String> command) {
|
||||
return createJavaProcessBuilder(addTestVmAndJavaOptions, command.toArray(String[]::new));
|
||||
return createJavaProcessBuilder(command.toArray(String[]::new));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -295,18 +283,6 @@ public final class ProcessTools {
|
||||
* @return The ProcessBuilder instance representing the java command.
|
||||
*/
|
||||
public static ProcessBuilder createJavaProcessBuilder(String... command) {
|
||||
return createJavaProcessBuilder(false, command);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create ProcessBuilder using the java launcher from the jdk to be tested.
|
||||
*
|
||||
* @param addTestVmAndJavaOptions If true, adds test.vm.opts and test.java.opts
|
||||
* to the java arguments.
|
||||
* @param command Arguments to pass to the java command.
|
||||
* @return The ProcessBuilder instance representing the java command.
|
||||
*/
|
||||
public static ProcessBuilder createJavaProcessBuilder(boolean addTestVmAndJavaOptions, String... command) {
|
||||
String javapath = JDKToolFinder.getJDKTool("java");
|
||||
|
||||
ArrayList<String> args = new ArrayList<>();
|
||||
@ -315,10 +291,6 @@ public final class ProcessTools {
|
||||
args.add("-cp");
|
||||
args.add(System.getProperty("java.class.path"));
|
||||
|
||||
if (addTestVmAndJavaOptions) {
|
||||
Collections.addAll(args, Utils.getTestJavaOpts());
|
||||
}
|
||||
|
||||
Collections.addAll(args, command);
|
||||
|
||||
// Reporting
|
||||
@ -341,6 +313,36 @@ public final class ProcessTools {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create ProcessBuilder using the java launcher from the jdk to be tested.
|
||||
* The default jvm options from jtreg, test.vm.opts and test.java.opts, are added.
|
||||
*
|
||||
* The command line will be like:
|
||||
* {test.jdk}/bin/java {test.vm.opts} {test.java.opts} cmds
|
||||
* Create ProcessBuilder using the java launcher from the jdk to be tested.
|
||||
*
|
||||
* @param command Arguments to pass to the java command.
|
||||
* @return The ProcessBuilder instance representing the java command.
|
||||
*/
|
||||
public static ProcessBuilder createTestJvm(List<String> command) {
|
||||
return createTestJvm(command.toArray(String[]::new));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create ProcessBuilder using the java launcher from the jdk to be tested.
|
||||
* The default jvm options from jtreg, test.vm.opts and test.java.opts, are added.
|
||||
*
|
||||
* The command line will be like:
|
||||
* {test.jdk}/bin/java {test.vm.opts} {test.java.opts} cmds
|
||||
* Create ProcessBuilder using the java launcher from the jdk to be tested.
|
||||
*
|
||||
* @param command Arguments to pass to the java command.
|
||||
* @return The ProcessBuilder instance representing the java command.
|
||||
*/
|
||||
public static ProcessBuilder createTestJvm(String... command) {
|
||||
return createJavaProcessBuilder(Utils.prependTestJavaOpts(command));
|
||||
}
|
||||
|
||||
/**
|
||||
* Executes a test jvm process, waits for it to finish and returns the process output.
|
||||
* The default jvm options from jtreg, test.vm.opts and test.java.opts, are added.
|
||||
@ -372,7 +374,7 @@ public final class ProcessTools {
|
||||
* @return The output from the process.
|
||||
*/
|
||||
public static OutputAnalyzer executeTestJvm(String... cmds) throws Exception {
|
||||
ProcessBuilder pb = createJavaProcessBuilder(true, cmds);
|
||||
ProcessBuilder pb = createTestJvm(cmds);
|
||||
return executeProcess(pb);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user