< prev index next >

test/jdk/java/lang/Thread/virtual/HoldsLock.java

Print this page
@@ -24,20 +24,18 @@
  /**
   * @test
   * @summary Test Thread.holdsLock when lock held by carrier thread
   * @requires vm.continuations
   * @modules java.base/java.lang:+open
-  * @enablePreview
   * @run junit HoldsLock
   */
  
  /**
   * @test
   * @summary Test Thread.holdsLock when lock held by carrier thread
   * @requires vm.continuations & vm.debug
   * @modules java.base/java.lang:+open
-  * @enablePreview
   * @run junit/othervm -XX:+UseHeavyMonitors HoldsLock
   */
  
  import java.lang.management.LockInfo;
  import java.lang.management.ManagementFactory;

@@ -53,10 +51,11 @@
  import java.util.concurrent.atomic.AtomicReference;
  
  import org.junit.jupiter.api.Test;
  import org.junit.jupiter.api.Disabled;
  import static org.junit.jupiter.api.Assertions.*;
+ import static org.junit.jupiter.api.Assumptions.*;
  
  class HoldsLock {
      static final Object LOCK1 = new Object();
      static final Object LOCK2 = new Object();
  

@@ -86,10 +85,12 @@
          stop(carrier);
      }
  
      @Test
      void testThreadInfo() throws Exception {
+         assumeFalse(Thread.currentThread().isVirtual(), "Main thread must be platform thread");
+ 
          var q = new ArrayBlockingQueue<Runnable>(5);
  
          Thread carrier = spawnCarrier(q);
          Thread vthread = spawnVirtual(executor(q), () -> {
              synchronized (LOCK1) {
< prev index next >