8066835: TEST_BUG: javax/management/remote/mandatory/connection/RMIConnector_NPETest.java fails
Reviewed-by: lancea
This commit is contained in:
parent
277a0d2dc8
commit
b633764a63
@ -194,7 +194,7 @@ public class JavaVM {
|
|||||||
throws InterruptedException, TimeoutException {
|
throws InterruptedException, TimeoutException {
|
||||||
if (vm == null)
|
if (vm == null)
|
||||||
throw new IllegalStateException("can't wait for JavaVM that isn't running");
|
throw new IllegalStateException("can't wait for JavaVM that isn't running");
|
||||||
long deadline = System.currentTimeMillis() + timeout;
|
long deadline = computeDeadline(System.currentTimeMillis(), timeout);
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
try {
|
try {
|
||||||
@ -218,4 +218,21 @@ public class JavaVM {
|
|||||||
start();
|
start();
|
||||||
return waitFor();
|
return waitFor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Computes a deadline from a timestamp and a timeout value.
|
||||||
|
* Maximum timeout (before multipliers are applied) is one hour.
|
||||||
|
*/
|
||||||
|
public static long computeDeadline(long timestamp, long timeout) {
|
||||||
|
final long MAX_TIMEOUT_MS = 3_600_000L;
|
||||||
|
|
||||||
|
if (timeout < 0L || timeout > MAX_TIMEOUT_MS) {
|
||||||
|
throw new IllegalArgumentException("timeout " + timeout + "ms out of range");
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO apply test.timeout.factor (and possibly jcov.sleep.multiplier)
|
||||||
|
// here instead of upstream
|
||||||
|
|
||||||
|
return timestamp + timeout;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -257,7 +257,7 @@ public class RMID extends JavaVM {
|
|||||||
waitTime = waitTime * slopFactor;
|
waitTime = waitTime * slopFactor;
|
||||||
|
|
||||||
long startTime = System.currentTimeMillis();
|
long startTime = System.currentTimeMillis();
|
||||||
long deadline = startTime + waitTime;
|
long deadline = computeDeadline(startTime, waitTime);
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
try {
|
try {
|
||||||
|
@ -38,7 +38,7 @@ import javax.management.remote.rmi.*;
|
|||||||
public class RMIConnector_NPETest {
|
public class RMIConnector_NPETest {
|
||||||
public static void main(String argv[]) throws Exception {
|
public static void main(String argv[]) throws Exception {
|
||||||
RMID rmid = RMID.createRMID();
|
RMID rmid = RMID.createRMID();
|
||||||
rmid.start(Long.MAX_VALUE);
|
rmid.start();
|
||||||
int rmidPort = rmid.getPort();
|
int rmidPort = rmid.getPort();
|
||||||
Exception failureCause = null;
|
Exception failureCause = null;
|
||||||
RMIConnector agent = null;
|
RMIConnector agent = null;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user