mirror of
https://github.com/openjdk/jdk.git
synced 2026-05-24 04:18:11 +00:00
8023978: [TEST_BUG] launcher tests must exclude platforms without server vm
Reviewed-by: dholmes, mchung
This commit is contained in:
parent
b24838bfc0
commit
0366da9c72
@ -89,10 +89,6 @@ public class ExecutionEnvironment extends TestHelper {
|
||||
|
||||
static final File testJarFile = new File("EcoFriendly.jar");
|
||||
|
||||
static final String LIBJVM = TestHelper.isWindows
|
||||
? "jvm.dll"
|
||||
: "libjvm" + (TestHelper.isMacOSX ? ".dylib" : ".so");
|
||||
|
||||
public ExecutionEnvironment() {
|
||||
createTestJar();
|
||||
}
|
||||
@ -192,7 +188,7 @@ public class ExecutionEnvironment extends TestHelper {
|
||||
|
||||
tr = doExec(env, javaCmd, "-jar", testJarFile.getAbsolutePath());
|
||||
verifyJavaLibraryPathGeneric(tr);
|
||||
} else {
|
||||
} else { // Solaris
|
||||
// no override
|
||||
env.clear();
|
||||
env.put(LD_LIBRARY_PATH, LD_LIBRARY_PATH_VALUE);
|
||||
@ -236,23 +232,24 @@ public class ExecutionEnvironment extends TestHelper {
|
||||
}
|
||||
|
||||
/*
|
||||
* ensures we have indeed exec'ed the correct vm of choice, all VMs support
|
||||
* -server, however 32-bit VMs support -client and -server.
|
||||
* ensures we have indeed exec'ed the correct vm of choice if it exists
|
||||
*/
|
||||
@Test
|
||||
void testVmSelection() {
|
||||
|
||||
TestResult tr = null;
|
||||
|
||||
if (is32Bit) {
|
||||
if (haveClientVM) {
|
||||
tr = doExec(javaCmd, "-client", "-version");
|
||||
if (!tr.matches(".*Client VM.*")) {
|
||||
flagError(tr, "the expected vm -client did not launch");
|
||||
}
|
||||
}
|
||||
tr = doExec(javaCmd, "-server", "-version");
|
||||
if (!tr.matches(".*Server VM.*")) {
|
||||
flagError(tr, "the expected vm -server did not launch");
|
||||
if (haveServerVM) {
|
||||
tr = doExec(javaCmd, "-server", "-version");
|
||||
if (!tr.matches(".*Server VM.*")) {
|
||||
flagError(tr, "the expected vm -server did not launch");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -208,6 +208,10 @@ public class Test7029048 extends TestHelper {
|
||||
System.out.println("Note: applicable on neither Windows nor MacOSX");
|
||||
return;
|
||||
}
|
||||
if (!TestHelper.haveServerVM) {
|
||||
System.out.println("Note: test relies on server vm, not found, exiting");
|
||||
return;
|
||||
}
|
||||
// create our test jar first
|
||||
ExecutionEnvironment.createTestJar();
|
||||
|
||||
|
||||
@ -67,11 +67,15 @@ public class TestHelper {
|
||||
static final String JAVAHOME = System.getProperty("java.home");
|
||||
static final String JAVA_BIN;
|
||||
static final String JAVA_JRE_BIN;
|
||||
static final String JAVA_LIB;
|
||||
static final String JAVA_JRE_LIB;
|
||||
static final boolean isSDK = JAVAHOME.endsWith("jre");
|
||||
static final String javaCmd;
|
||||
static final String javawCmd;
|
||||
static final String javacCmd;
|
||||
static final String jarCmd;
|
||||
static final boolean haveServerVM;
|
||||
static final boolean haveClientVM;
|
||||
|
||||
static final JavaCompiler compiler;
|
||||
|
||||
@ -88,6 +92,9 @@ public class TestHelper {
|
||||
System.getProperty("os.name", "unknown").startsWith("SunOS");
|
||||
static final boolean isLinux =
|
||||
System.getProperty("os.name", "unknown").startsWith("Linux");
|
||||
static final String LIBJVM = isWindows
|
||||
? "jvm.dll"
|
||||
: "libjvm" + (isMacOSX ? ".dylib" : ".so");
|
||||
|
||||
static final boolean isSparc = System.getProperty("os.arch").startsWith("sparc");
|
||||
|
||||
@ -124,12 +131,19 @@ public class TestHelper {
|
||||
throw new RuntimeException("arch model is not 32 or 64 bit ?");
|
||||
}
|
||||
compiler = ToolProvider.getSystemJavaCompiler();
|
||||
|
||||
File binDir = (isSDK)
|
||||
? new File((new File(JAVAHOME)).getParentFile(), "bin")
|
||||
: new File(JAVAHOME, "bin");
|
||||
JAVA_BIN = binDir.getAbsolutePath();
|
||||
JAVA_JRE_BIN = new File((new File(JAVAHOME)).getParentFile(),
|
||||
(isSDK) ? "jre/bin" : "bin").getAbsolutePath();
|
||||
JAVA_JRE_BIN = new File(JAVAHOME, "bin").getAbsolutePath();
|
||||
|
||||
File libDir = (isSDK)
|
||||
? new File((new File(JAVAHOME)).getParentFile(), "lib")
|
||||
: new File(JAVAHOME, "lib");
|
||||
JAVA_LIB = libDir.getAbsolutePath();
|
||||
JAVA_JRE_LIB = new File(JAVAHOME, "lib").getAbsolutePath();
|
||||
|
||||
File javaCmdFile = (isWindows)
|
||||
? new File(binDir, "java.exe")
|
||||
: new File(binDir, "java");
|
||||
@ -168,6 +182,21 @@ public class TestHelper {
|
||||
throw new RuntimeException("java <" + javacCmd +
|
||||
"> must exist and should be executable");
|
||||
}
|
||||
|
||||
haveClientVM = haveVmVariant("client");
|
||||
haveServerVM = haveVmVariant("server");
|
||||
}
|
||||
private static boolean haveVmVariant(String type) {
|
||||
if (isWindows) {
|
||||
File vmDir = new File(JAVA_JRE_BIN, type);
|
||||
File jvmFile = new File(vmDir, LIBJVM);
|
||||
return jvmFile.exists();
|
||||
} else {
|
||||
File vmDir = new File(JAVA_JRE_LIB, type);
|
||||
File vmArchDir = new File(vmDir, getJreArch());
|
||||
File jvmFile = new File(vmArchDir, LIBJVM);
|
||||
return jvmFile.exists();
|
||||
}
|
||||
}
|
||||
void run(String[] args) throws Exception {
|
||||
int passed = 0, failed = 0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user