mirror of
https://github.com/openjdk/jdk.git
synced 2026-03-13 17:33:10 +00:00
Merge
This commit is contained in:
commit
542ac8a147
@ -76,20 +76,29 @@ public class VirtualMachineImpl extends HotSpotVirtualMachine {
|
||||
sendQuitTo(pid);
|
||||
|
||||
// give the target VM time to start the attach mechanism
|
||||
int i = 0;
|
||||
long delay = 200;
|
||||
int retries = (int)(attachTimeout() / delay);
|
||||
final int delay_step = 100;
|
||||
final long timeout = attachTimeout();
|
||||
long time_spend = 0;
|
||||
long delay = 0;
|
||||
do {
|
||||
// Increase timeout on each attempt to reduce polling
|
||||
delay += delay_step;
|
||||
try {
|
||||
Thread.sleep(delay);
|
||||
} catch (InterruptedException x) { }
|
||||
path = findSocketFile(pid);
|
||||
i++;
|
||||
} while (i <= retries && path == null);
|
||||
|
||||
time_spend += delay;
|
||||
if (time_spend > timeout/2 && path == null) {
|
||||
// Send QUIT again to give target VM the last chance to react
|
||||
sendQuitTo(pid);
|
||||
}
|
||||
} while (time_spend <= timeout && path == null);
|
||||
if (path == null) {
|
||||
throw new AttachNotSupportedException(
|
||||
"Unable to open socket file: target process not responding " +
|
||||
"or HotSpot VM not loaded");
|
||||
String.format("Unable to open socket file %s: " +
|
||||
"target process %d doesn't respond within %dms " +
|
||||
"or HotSpot VM not loaded", f.getPath(), pid, time_spend));
|
||||
}
|
||||
} finally {
|
||||
f.delete();
|
||||
|
||||
@ -44,9 +44,6 @@ public class VirtualMachineImpl extends HotSpotVirtualMachine {
|
||||
// Any changes to this needs to be synchronized with HotSpot.
|
||||
private static final String tmpdir = "/tmp";
|
||||
|
||||
// Indicates if this machine uses the old LinuxThreads
|
||||
static boolean isLinuxThreads;
|
||||
|
||||
// The patch to the socket file created by the target VM
|
||||
String path;
|
||||
|
||||
@ -73,44 +70,37 @@ public class VirtualMachineImpl extends HotSpotVirtualMachine {
|
||||
if (path == null) {
|
||||
File f = createAttachFile(pid);
|
||||
try {
|
||||
// On LinuxThreads each thread is a process and we don't have the
|
||||
// pid of the VMThread which has SIGQUIT unblocked. To workaround
|
||||
// this we get the pid of the "manager thread" that is created
|
||||
// by the first call to pthread_create. This is parent of all
|
||||
// threads (except the initial thread).
|
||||
if (isLinuxThreads) {
|
||||
int mpid;
|
||||
try {
|
||||
mpid = getLinuxThreadsManager(pid);
|
||||
} catch (IOException x) {
|
||||
throw new AttachNotSupportedException(x.getMessage());
|
||||
}
|
||||
assert(mpid >= 1);
|
||||
sendQuitToChildrenOf(mpid);
|
||||
} else {
|
||||
sendQuitTo(pid);
|
||||
}
|
||||
sendQuitTo(pid);
|
||||
|
||||
// give the target VM time to start the attach mechanism
|
||||
int i = 0;
|
||||
long delay = 200;
|
||||
int retries = (int)(attachTimeout() / delay);
|
||||
final int delay_step = 100;
|
||||
final long timeout = attachTimeout();
|
||||
long time_spend = 0;
|
||||
long delay = 0;
|
||||
do {
|
||||
// Increase timeout on each attempt to reduce polling
|
||||
delay += delay_step;
|
||||
try {
|
||||
Thread.sleep(delay);
|
||||
} catch (InterruptedException x) { }
|
||||
path = findSocketFile(pid);
|
||||
i++;
|
||||
} while (i <= retries && path == null);
|
||||
|
||||
time_spend += delay;
|
||||
if (time_spend > timeout/2 && path == null) {
|
||||
// Send QUIT again to give target VM the last chance to react
|
||||
sendQuitTo(pid);
|
||||
}
|
||||
} while (time_spend <= timeout && path == null);
|
||||
if (path == null) {
|
||||
throw new AttachNotSupportedException(
|
||||
"Unable to open socket file: target process not responding " +
|
||||
"or HotSpot VM not loaded");
|
||||
String.format("Unable to open socket file %s: " +
|
||||
"target process %d doesn't respond within %dms " +
|
||||
"or HotSpot VM not loaded", f.getPath(), pid, time_spend));
|
||||
}
|
||||
} finally {
|
||||
f.delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check that the file owner/permission to avoid attaching to
|
||||
// bogus process
|
||||
@ -340,6 +330,5 @@ public class VirtualMachineImpl extends HotSpotVirtualMachine {
|
||||
|
||||
static {
|
||||
System.loadLibrary("attach");
|
||||
isLinuxThreads = isLinuxThreads();
|
||||
}
|
||||
}
|
||||
|
||||
@ -70,26 +70,34 @@ public class VirtualMachineImpl extends HotSpotVirtualMachine {
|
||||
// Then we attempt to find the socket file again.
|
||||
path = findSocketFile(pid);
|
||||
if (path == null) {
|
||||
File f = new File(tmpdir, ".attach_pid" + pid);
|
||||
createAttachFile(f.getPath());
|
||||
File f = createAttachFile(pid);
|
||||
try {
|
||||
sendQuitTo(pid);
|
||||
|
||||
// give the target VM time to start the attach mechanism
|
||||
int i = 0;
|
||||
long delay = 200;
|
||||
int retries = (int)(attachTimeout() / delay);
|
||||
final int delay_step = 100;
|
||||
final long timeout = attachTimeout();
|
||||
long time_spend = 0;
|
||||
long delay = 0;
|
||||
do {
|
||||
// Increase timeout on each attempt to reduce polling
|
||||
delay += delay_step;
|
||||
try {
|
||||
Thread.sleep(delay);
|
||||
} catch (InterruptedException x) { }
|
||||
path = findSocketFile(pid);
|
||||
i++;
|
||||
} while (i <= retries && path == null);
|
||||
|
||||
time_spend += delay;
|
||||
if (time_spend > timeout/2 && path == null) {
|
||||
// Send QUIT again to give target VM the last chance to react
|
||||
sendQuitTo(pid);
|
||||
}
|
||||
} while (time_spend <= timeout && path == null);
|
||||
if (path == null) {
|
||||
throw new AttachNotSupportedException(
|
||||
"Unable to open socket file: target process not responding " +
|
||||
"or HotSpot VM not loaded");
|
||||
String.format("Unable to open socket file %s: " +
|
||||
"target process %d doesn't respond within %dms " +
|
||||
"or HotSpot VM not loaded", f.getPath(), pid, time_spend));
|
||||
}
|
||||
} finally {
|
||||
f.delete();
|
||||
@ -282,6 +290,12 @@ public class VirtualMachineImpl extends HotSpotVirtualMachine {
|
||||
write(fd, b, 0, 1);
|
||||
}
|
||||
|
||||
private File createAttachFile(int pid) throws IOException {
|
||||
String fn = ".attach_pid" + pid;
|
||||
File f = new File(tmpdir, fn);
|
||||
createAttachFile0(f.getPath());
|
||||
return f;
|
||||
}
|
||||
|
||||
//-- native methods
|
||||
|
||||
@ -299,7 +313,7 @@ public class VirtualMachineImpl extends HotSpotVirtualMachine {
|
||||
|
||||
static native void write(int fd, byte buf[], int off, int bufLen) throws IOException;
|
||||
|
||||
static native void createAttachFile(String path);
|
||||
static native void createAttachFile0(String path);
|
||||
|
||||
static native String getTempDir();
|
||||
|
||||
|
||||
@ -270,7 +270,7 @@ JNIEXPORT void JNICALL Java_sun_tools_attach_VirtualMachineImpl_write
|
||||
* Method: createAttachFile
|
||||
* Signature: (Ljava.lang.String;)V
|
||||
*/
|
||||
JNIEXPORT void JNICALL Java_sun_tools_attach_VirtualMachineImpl_createAttachFile(JNIEnv *env, jclass cls, jstring path)
|
||||
JNIEXPORT void JNICALL Java_sun_tools_attach_VirtualMachineImpl_createAttachFile0(JNIEnv *env, jclass cls, jstring path)
|
||||
{
|
||||
const char* _path;
|
||||
jboolean isCopy;
|
||||
|
||||
@ -319,7 +319,7 @@ public abstract class HotSpotVirtualMachine extends VirtualMachine {
|
||||
|
||||
// -- attach timeout support
|
||||
|
||||
private static long defaultAttachTimeout = 5000;
|
||||
private static long defaultAttachTimeout = 10000;
|
||||
private volatile long attachTimeout;
|
||||
|
||||
/*
|
||||
|
||||
@ -71,27 +71,36 @@ public class VirtualMachineImpl extends HotSpotVirtualMachine {
|
||||
} catch (FileNotFoundException fnf1) {
|
||||
File f = createAttachFile(pid);
|
||||
try {
|
||||
// kill -QUIT will tickle target VM to check for the
|
||||
// attach file.
|
||||
sigquit(pid);
|
||||
|
||||
// give the target VM time to start the attach mechanism
|
||||
int i = 0;
|
||||
long delay = 200;
|
||||
int retries = (int)(attachTimeout() / delay);
|
||||
final int delay_step = 100;
|
||||
final long timeout = attachTimeout();
|
||||
long time_spend = 0;
|
||||
long delay = 0;
|
||||
do {
|
||||
// Increase timeout on each attempt to reduce polling
|
||||
delay += delay_step;
|
||||
try {
|
||||
Thread.sleep(delay);
|
||||
} catch (InterruptedException x) { }
|
||||
try {
|
||||
fd = openDoor(pid);
|
||||
} catch (FileNotFoundException fnf2) { }
|
||||
i++;
|
||||
} while (i <= retries && fd == -1);
|
||||
if (fd == -1) {
|
||||
} catch (FileNotFoundException fnf2) {
|
||||
// pass
|
||||
}
|
||||
|
||||
time_spend += delay;
|
||||
if (time_spend > timeout/2 && fd == -1) {
|
||||
// Send QUIT again to give target VM the last chance to react
|
||||
sigquit(pid);
|
||||
}
|
||||
} while (time_spend <= timeout && fd == -1);
|
||||
if (fd == -1) {
|
||||
throw new AttachNotSupportedException(
|
||||
"Unable to open door: target process not responding or " +
|
||||
"HotSpot VM not loaded");
|
||||
String.format("Unable to open door %s: " +
|
||||
"target process %d doesn't respond within %dms " +
|
||||
"or HotSpot VM not loaded", f.getPath(), pid, time_spend));
|
||||
}
|
||||
} finally {
|
||||
f.delete();
|
||||
|
||||
@ -87,9 +87,32 @@ JNIEXPORT void JNICALL Java_com_sun_management_internal_GcInfoBuilder_fillGcAttr
|
||||
for (i = 0; i < num_attributes; i++) {
|
||||
nativeTypes[i] = ext_att_info[i].type;
|
||||
attName = (*env)->NewStringUTF(env, ext_att_info[i].name);
|
||||
desc = (*env)->NewStringUTF(env, ext_att_info[i].description);
|
||||
if ((*env)->ExceptionCheck(env)) {
|
||||
free(ext_att_info);
|
||||
free(nativeTypes);
|
||||
return;
|
||||
}
|
||||
|
||||
(*env)->SetObjectArrayElement(env, attributeNames, i, attName);
|
||||
if ((*env)->ExceptionCheck(env)) {
|
||||
free(ext_att_info);
|
||||
free(nativeTypes);
|
||||
return;
|
||||
}
|
||||
|
||||
desc = (*env)->NewStringUTF(env, ext_att_info[i].description);
|
||||
if ((*env)->ExceptionCheck(env)) {
|
||||
free(ext_att_info);
|
||||
free(nativeTypes);
|
||||
return;
|
||||
}
|
||||
|
||||
(*env)->SetObjectArrayElement(env, descriptions, i, desc);
|
||||
if ((*env)->ExceptionCheck(env)) {
|
||||
free(ext_att_info);
|
||||
free(nativeTypes);
|
||||
return;
|
||||
}
|
||||
}
|
||||
(*env)->SetCharArrayRegion(env, types, 0, num_attributes, nativeTypes);
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ import jdk.test.lib.Asserts;
|
||||
* @summary Verifies that PathSearchingVirtualMachine.bootClassPath()
|
||||
* returns an empty list in case no bootclass path specified
|
||||
* regardless of sun.boot.class.path option, which is now obsolete
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @compile TestClass.java
|
||||
* @compile SunBootClassPathEmptyTest.java
|
||||
* @run main/othervm SunBootClassPathEmptyTest
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -38,7 +38,7 @@ import com.sun.management.HotSpotDiagnosticMXBean;
|
||||
* @bug 6455258
|
||||
* @summary Sanity test for com.sun.management.HotSpotDiagnosticMXBean.dumpHeap method
|
||||
* @library /lib/testlibrary
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @build jdk.testlibrary.*
|
||||
* @build jdk.test.lib.hprof.*
|
||||
* @build jdk.test.lib.hprof.model.*
|
||||
|
||||
@ -36,7 +36,7 @@ import org.testng.annotations.Test;
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* jdk.management
|
||||
* @run testng Basic
|
||||
|
||||
@ -48,7 +48,7 @@ import org.testng.annotations.Test;
|
||||
/*
|
||||
* @test
|
||||
* @bug 8077350 8081566 8081567 8098852 8136597
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* jdk.management
|
||||
* @build jdk.test.lib.Platform jdk.test.lib.Utils
|
||||
|
||||
@ -38,7 +38,7 @@ import org.testng.TestNG;
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* jdk.management
|
||||
* @build jdk.test.lib.Platform jdk.test.lib.Utils
|
||||
|
||||
@ -44,7 +44,7 @@ import org.testng.annotations.Test;
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* jdk.management
|
||||
* @build jdk.test.lib.Utils
|
||||
|
||||
@ -24,6 +24,7 @@
|
||||
/**
|
||||
* @test
|
||||
* @bug 6263319
|
||||
* @requires ((vm.opt.StartFlightRecording == null) | (vm.opt.StartFlightRecording == false)) & ((vm.opt.FlightRecorder == null) | (vm.opt.FlightRecorder == false))
|
||||
* @summary test setNativeMethodPrefix
|
||||
* @author Robert Field, Sun Microsystems
|
||||
*
|
||||
|
||||
@ -70,7 +70,7 @@ else
|
||||
fi
|
||||
|
||||
"${JAVA}" ${TESTVMOPTS} \
|
||||
-XX:TraceRedefineClasses=3 ${NMT} \
|
||||
-Xlog:redefine+class+load=debug,redefine+class+load+exceptions=info ${NMT} \
|
||||
-javaagent:RedefineBigClassAgent.jar=BigClass.class \
|
||||
-classpath "${TESTCLASSES}" RedefineBigClassApp \
|
||||
> output.log 2>&1
|
||||
|
||||
@ -87,23 +87,8 @@ mv RedefineSubclassWithTwoInterfacesImpl.class \
|
||||
|
||||
echo "INFO: launching RedefineSubclassWithTwoInterfacesApp"
|
||||
|
||||
# TraceRedefineClasses options:
|
||||
#
|
||||
# 0x00000001 | 1 - name each target class before loading, after
|
||||
# loading and after redefinition is completed
|
||||
# 0x00000002 | 2 - print info if parsing, linking or
|
||||
# verification throws an exception
|
||||
# 0x00000004 | 4 - print timer info for the VM operation
|
||||
# 0x00001000 | 4096 - detect calls to obsolete methods
|
||||
# 0x00002000 | 8192 - fail a guarantee() in addition to detection
|
||||
# 0x00004000 | 16384 - detect old/obsolete methods in metadata
|
||||
# 0x00100000 | 1048576 - impl details: vtable updates
|
||||
# 0x00200000 | 2097152 - impl details: itable updates
|
||||
#
|
||||
# 1+2+4+4096+8192+16384+1048576+2097152 == 3174407
|
||||
|
||||
"${JAVA}" ${TESTVMOPTS} \
|
||||
-XX:TraceRedefineClasses=3174407 \
|
||||
-Xlog:redefine+class+load=trace,redefine+class+load+exceptions=trace,redefine+class+timer=trace,redefine+class+obsolete=trace,redefine+class+obsolete+metadata=trace,redefine+class+constantpool=trace \
|
||||
-javaagent:RedefineSubclassWithTwoInterfacesAgent.jar \
|
||||
-classpath "${TESTCLASSES}" \
|
||||
RedefineSubclassWithTwoInterfacesApp > output.log 2>&1
|
||||
|
||||
@ -70,7 +70,7 @@ else
|
||||
fi
|
||||
|
||||
"${JAVA}" ${TESTVMOPTS} \
|
||||
-XX:TraceRedefineClasses=3 ${NMT} \
|
||||
-Xlog:redefine+class+load=debug,redefine+class+load+exceptions=info ${NMT} \
|
||||
-javaagent:RetransformBigClassAgent.jar=BigClass.class \
|
||||
-classpath "${TESTCLASSES}" RetransformBigClassApp \
|
||||
> output.log 2>&1
|
||||
|
||||
@ -49,7 +49,7 @@ import org.testng.annotations.Test;
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @library /test/lib/share/classes /lib/testlibrary /test/lib
|
||||
* @library /lib/testlibrary /test/lib
|
||||
* @build sun.hotspot.WhiteBox
|
||||
* @build jdk.test.lib.Utils
|
||||
* @modules java.base/jdk.internal
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
/* @test
|
||||
* @bug 8051408 8158534
|
||||
* @summary Make sure DrbgParameters coded as specified
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
*/
|
||||
|
||||
import jdk.test.lib.Asserts;
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
/*
|
||||
* @test
|
||||
* @bug 4954921 8009259
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.ref
|
||||
* java.base/jdk.internal.misc
|
||||
* @build jdk.test.lib.*
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -44,7 +44,7 @@ import java.util.Objects;
|
||||
* </pre>
|
||||
*
|
||||
* @deprecated This class is deprecated. Use the one from
|
||||
* {@code <root>/test/lib/share/classes/jdk/test/lib}
|
||||
* {@code <root>/test/lib/jdk/test/lib}
|
||||
*/
|
||||
@Deprecated
|
||||
public class Asserts {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -29,7 +29,7 @@ import java.nio.file.Paths;
|
||||
|
||||
/**
|
||||
* @deprecated This class is deprecated. Use the one from
|
||||
* {@code <root>/test/lib/share/classes/jdk/test/lib}
|
||||
* {@code <root>/test/lib/jdk/test/lib}
|
||||
*/
|
||||
@Deprecated
|
||||
public final class JDKToolFinder {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -46,7 +46,7 @@ import java.util.List;
|
||||
* }
|
||||
* </pre>
|
||||
* @deprecated This class is deprecated. Use the one from
|
||||
* {@code <root>/test/lib/share/classes/jdk/test/lib}
|
||||
* {@code <root>/test/lib/jdk/test/lib}
|
||||
*/
|
||||
@Deprecated
|
||||
public class JDKToolLauncher {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -36,7 +36,7 @@ import java.util.regex.Pattern;
|
||||
* Utility class for verifying output and exit value from a {@code Process}.
|
||||
*
|
||||
* @deprecated This class is deprecated. Use the one from
|
||||
* {@code <root>/test/lib/share/classes/jdk/test/lib/process}
|
||||
* {@code <root>/test/lib/jdk/test/lib/process}
|
||||
*
|
||||
*/
|
||||
@Deprecated
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -30,7 +30,7 @@ import java.util.concurrent.Future;
|
||||
|
||||
/**
|
||||
* @deprecated This class is deprecated. Use the one from
|
||||
* {@code <root>/test/lib/share/classes/jdk/test/lib/process}
|
||||
* {@code <root>/test/lib/jdk/test/lib/process}
|
||||
*/
|
||||
@Deprecated
|
||||
class OutputBuffer {
|
||||
|
||||
@ -29,7 +29,7 @@ import java.io.IOException;
|
||||
|
||||
/**
|
||||
* @deprecated This class is deprecated. Use the one from
|
||||
* {@code <root>/test/lib/share/classes/jdk/test/lib}
|
||||
* {@code <root>/test/lib/jdk/test/lib}
|
||||
*/
|
||||
@Deprecated
|
||||
public class Platform {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -43,7 +43,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @deprecated This class is deprecated. Use the one from
|
||||
* {@code <root>/test/lib/share/classes/jdk/test/lib/process}
|
||||
* {@code <root>/test/lib/jdk/test/lib/process}
|
||||
*/
|
||||
@Deprecated
|
||||
public final class ProcessTools {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -36,7 +36,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
/**
|
||||
* @deprecated This class is deprecated. Use the one from
|
||||
* {@code <root>/test/lib/share/classes/jdk/test/lib/process}
|
||||
* {@code <root>/test/lib/jdk/test/lib/process}
|
||||
*/
|
||||
@Deprecated
|
||||
public final class StreamPumper implements Runnable {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -43,7 +43,7 @@ import java.util.function.Function;
|
||||
* Common library for various test helper functions.
|
||||
*
|
||||
* @deprecated This class is deprecated. Use the one from
|
||||
* {@code <root>/test/lib/share/classes/jdk/test/lib}
|
||||
* {@code <root>/test/lib/jdk/test/lib}
|
||||
*/
|
||||
@Deprecated
|
||||
public final class Utils {
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -42,7 +42,7 @@ import sun.jvmstat.monitor.VmIdentifier;
|
||||
* @summary setInterval() for local MonitoredHost and local MonitoredVm
|
||||
* @modules jdk.jvmstat/sun.jvmstat.monitor
|
||||
* @library /lib/testlibrary
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @build jdk.testlibrary.*
|
||||
* @build jdk.test.lib.apps.*
|
||||
* @run main TestPollingInterval
|
||||
|
||||
@ -43,7 +43,7 @@ import sun.misc.SignalHandler;
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @modules jdk.unsupported
|
||||
* java.base/jdk.internal.misc
|
||||
* @build jdk.test.lib.Platform jdk.test.lib.Utils
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
* @test
|
||||
* @bug 4906940 8130302
|
||||
* @summary -providerPath, -providerClass, -addprovider, and -providerArg
|
||||
* @library /lib/testlibrary /test/lib/share/classes
|
||||
* @library /lib/testlibrary /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
*/
|
||||
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
/*
|
||||
* @test
|
||||
* @summary Basic test for jhsdb launcher
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @library /lib/testlibrary
|
||||
* @build jdk.testlibrary.*
|
||||
* @build jdk.test.lib.apps.*
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -37,7 +37,7 @@ import jdk.testlibrary.Platform;
|
||||
* @bug 8042397
|
||||
* @summary Unit test for jmap utility test heap configuration reader
|
||||
* @modules jdk.hotspot.agent/sun.jvm.hotspot
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @library /lib/testlibrary
|
||||
* @build jdk.testlibrary.*
|
||||
* @build jdk.test.lib.apps.*
|
||||
|
||||
@ -37,7 +37,7 @@ import jdk.test.lib.apps.LingeredApp;
|
||||
* @test
|
||||
* @summary Unit test for jinfo utility
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @build jdk.test.lib.*
|
||||
* @build jdk.test.lib.apps.*
|
||||
* @build jdk.test.lib.process.*
|
||||
|
||||
@ -37,7 +37,7 @@ import jdk.testlibrary.ProcessTools;
|
||||
* @summary Unit test for jmap utility
|
||||
* @key intermittent
|
||||
* @library /lib/testlibrary
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @build jdk.testlibrary.*
|
||||
* @build jdk.test.lib.hprof.*
|
||||
* @build jdk.test.lib.hprof.model.*
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -29,7 +29,7 @@ import jdk.test.lib.apps.LingeredApp;
|
||||
* @test
|
||||
* @summary This test verifies jps usage and checks that appropriate error message is shown
|
||||
* when running jps with illegal arguments.
|
||||
* @library /lib/testlibrary /test/lib/share/classes
|
||||
* @library /lib/testlibrary /test/lib
|
||||
* @modules jdk.jartool/sun.tools.jar
|
||||
* java.management
|
||||
* java.base/jdk.internal.misc
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -37,7 +37,7 @@ import jdk.testlibrary.ProcessTools;
|
||||
/*
|
||||
* @test
|
||||
* @summary Test deadlock detection
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @library /lib/testlibrary
|
||||
* @build jdk.testlibrary.*
|
||||
* @build jdk.test.lib.apps.*
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @library /test/lib/share/classes
|
||||
* @library /test/lib
|
||||
* @modules java.base/jdk.internal.misc
|
||||
* @build jdk.test.lib.JDKToolFinder jdk.test.lib.Platform
|
||||
* @run testng Basic
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user