< prev index next >
test/jdk/java/util/logging/LogManager/Configuration/updateConfiguration/HandlersOnComplexResetUpdate.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2015, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2015, 2019, 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
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 78,87 ****
--- 78,95 ----
Configure.setUp(this, properties.get(0));
test(this.name(), properties);
}
}
+ public static final double TIMEOUT_FACTOR;
+ static {
+ String toFactor = System.getProperty("test.timeout.factor", "1.0");
+ TIMEOUT_FACTOR = Double.parseDouble(toFactor);
+ }
+ static int adjustCount(int count) {
+ return (int) Math.ceil(TIMEOUT_FACTOR * count);
+ }
private static final String PREFIX =
"FileHandler-" + UUID.randomUUID() + ".log";
private static final String userDir = System.getProperty("user.dir", ".");
private static final boolean userDirWritable = Files.isWritable(Paths.get(userDir));
*** 211,225 ****
if (barRef.get() != barChild.getParent()) {
throw new RuntimeException("Unexpected parent logger: "
+ barChild.getParent() +"\n\texpected: " + barRef.get());
}
Reference<? extends Logger> ref2;
! int max = 3;
barChild = null;
while ((ref2 = queue.poll()) == null) {
System.gc();
! Thread.sleep(100);
if (--max == 0) break;
}
Throwable failed = null;
try {
--- 219,233 ----
if (barRef.get() != barChild.getParent()) {
throw new RuntimeException("Unexpected parent logger: "
+ barChild.getParent() +"\n\texpected: " + barRef.get());
}
Reference<? extends Logger> ref2;
! int max = adjustCount(3);
barChild = null;
while ((ref2 = queue.poll()) == null) {
System.gc();
! Thread.sleep(1000);
if (--max == 0) break;
}
Throwable failed = null;
try {
*** 326,335 ****
--- 334,344 ----
} catch(Exception x) {
if (suppressed != null) x.addSuppressed(suppressed);
throw new RuntimeException(x);
}
});
+ try {
fooChild = null;
System.out.println("Setting fooChild to: " + fooChild);
while ((ref2 = queue.poll()) == null) {
System.gc();
Thread.sleep(1000);
*** 340,350 ****
}
if (ref2.get() != null) {
throw new RuntimeException("Referent not cleared: " + ref2.get());
}
System.out.println("Got fooRef after reset(), fooChild is " + fooChild);
!
}
if (failed != null) {
// should rarely happen...
throw new RuntimeException(failed);
}
--- 349,362 ----
}
if (ref2.get() != null) {
throw new RuntimeException("Referent not cleared: " + ref2.get());
}
System.out.println("Got fooRef after reset(), fooChild is " + fooChild);
! } catch(Throwable t) {
! if (failed != null) t.addSuppressed(failed);
! throw t;
! }
}
if (failed != null) {
// should rarely happen...
throw new RuntimeException(failed);
}
< prev index next >