< prev index next >

test/jdk/java/foreign/LibraryLookupTest.java

Print this page

 18  *
 19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 20  * or visit www.oracle.com if you need additional information or have any
 21  * questions.
 22  */
 23 
 24 import org.testng.annotations.Test;
 25 
 26 import java.lang.foreign.*;
 27 import java.lang.foreign.Arena;
 28 import java.lang.invoke.MethodHandle;
 29 import java.nio.file.Path;
 30 import java.util.concurrent.ExecutorService;
 31 import java.util.concurrent.Executors;
 32 import java.util.concurrent.TimeUnit;
 33 
 34 import static org.testng.Assert.*;
 35 
 36 /*
 37  * @test
 38  * @enablePreview
 39  * @requires jdk.foreign.linker != "UNSUPPORTED"
 40  * @run testng/othervm --enable-native-access=ALL-UNNAMED LibraryLookupTest
 41  */
 42 public class LibraryLookupTest {
 43 
 44     static final Path JAVA_LIBRARY_PATH = Path.of(System.getProperty("java.library.path"));
 45     static final MethodHandle INC = Linker.nativeLinker().downcallHandle(FunctionDescriptor.ofVoid());
 46     static final Path LIB_PATH = JAVA_LIBRARY_PATH.resolve(System.mapLibraryName("LibraryLookup"));
 47 
 48     @Test
 49     void testLoadLibraryConfined() {
 50         try (Arena arena0 = Arena.ofConfined()) {
 51             callFunc(loadLibrary(arena0));
 52             try (Arena arena1 = Arena.ofConfined()) {
 53                 callFunc(loadLibrary(arena1));
 54                 try (Arena arena2 = Arena.ofConfined()) {
 55                     callFunc(loadLibrary(arena2));
 56                 }
 57             }
 58         }
 59     }

 18  *
 19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 20  * or visit www.oracle.com if you need additional information or have any
 21  * questions.
 22  */
 23 
 24 import org.testng.annotations.Test;
 25 
 26 import java.lang.foreign.*;
 27 import java.lang.foreign.Arena;
 28 import java.lang.invoke.MethodHandle;
 29 import java.nio.file.Path;
 30 import java.util.concurrent.ExecutorService;
 31 import java.util.concurrent.Executors;
 32 import java.util.concurrent.TimeUnit;
 33 
 34 import static org.testng.Assert.*;
 35 
 36 /*
 37  * @test


 38  * @run testng/othervm --enable-native-access=ALL-UNNAMED LibraryLookupTest
 39  */
 40 public class LibraryLookupTest {
 41 
 42     static final Path JAVA_LIBRARY_PATH = Path.of(System.getProperty("java.library.path"));
 43     static final MethodHandle INC = Linker.nativeLinker().downcallHandle(FunctionDescriptor.ofVoid());
 44     static final Path LIB_PATH = JAVA_LIBRARY_PATH.resolve(System.mapLibraryName("LibraryLookup"));
 45 
 46     @Test
 47     void testLoadLibraryConfined() {
 48         try (Arena arena0 = Arena.ofConfined()) {
 49             callFunc(loadLibrary(arena0));
 50             try (Arena arena1 = Arena.ofConfined()) {
 51                 callFunc(loadLibrary(arena1));
 52                 try (Arena arena2 = Arena.ofConfined()) {
 53                     callFunc(loadLibrary(arena2));
 54                 }
 55             }
 56         }
 57     }
< prev index next >