< prev index next >
jdk/test/java/lang/management/ThreadMXBean/Locks.java
Print this page
rev 16982 : imported patch 8180399
*** 27,47 ****
* @summary Basic unit test of ThreadInfo.getLockName()
* and ThreadInfo.getLockOwnerName()
* @author Mandy Chung
* @author Jaroslav Bachorik
*
! * @library /lib/testlibrary
*
* @build jdk.testlibrary.*
* @run main/othervm Locks
*/
import java.lang.management.*;
import java.util.Arrays;
import java.util.Optional;
import java.util.concurrent.Phaser;
import java.util.function.Predicate;
! import jdk.testlibrary.LockFreeLogManager;
public class Locks {
private static final Object OBJA = new Object();
private static final Object OBJB = new Object();
--- 27,48 ----
* @summary Basic unit test of ThreadInfo.getLockName()
* and ThreadInfo.getLockOwnerName()
* @author Mandy Chung
* @author Jaroslav Bachorik
*
! * @library /lib/testlibrary /test/lib
*
* @build jdk.testlibrary.*
* @run main/othervm Locks
*/
import java.lang.management.*;
import java.util.Arrays;
+ import java.util.Objects;
import java.util.Optional;
import java.util.concurrent.Phaser;
import java.util.function.Predicate;
! import jdk.test.lib.log.LockFreeLogManager;
public class Locks {
private static final Object OBJA = new Object();
private static final Object OBJB = new Object();
*** 58,73 ****
private static void assertNoLock(Thread t) {
if (t == null) {
return;
}
! Optional<ThreadInfo> result = Arrays.asList(
! TM.getThreadInfo(TM.getAllThreadIds(), true, true)).
! stream().
! filter(tInfo -> (tInfo != null && tInfo.getLockOwnerName() != null)
! ? tInfo.getLockOwnerName().equals(t.getName()) : false).
! findAny();
if (result.isPresent()) {
throw new RuntimeException("Thread " + t.getName() + " is not "
+ "supposed to be hold any lock. Currently owning lock : "
+ result.get().getLockName());
}
--- 59,74 ----
private static void assertNoLock(Thread t) {
if (t == null) {
return;
}
! String name = t.getName();
! Optional<ThreadInfo> result = Arrays.stream(
! TM.getThreadInfo(TM.getAllThreadIds(), true, true))
! .filter(Objects::nonNull)
! .filter(i -> name.equals(i.getLockOwnerName()))
! .findAny();
if (result.isPresent()) {
throw new RuntimeException("Thread " + t.getName() + " is not "
+ "supposed to be hold any lock. Currently owning lock : "
+ result.get().getLockName());
}
< prev index next >