< prev index next >

test/jdk/java/nicl/BindLookupTest.java

Print this page




  21  * questions.
  22  */
  23 
  24 import org.testng.Assert;
  25 import org.testng.annotations.DataProvider;
  26 import org.testng.annotations.Test;
  27 
  28 import java.lang.invoke.MethodHandles;
  29 import java.lang.invoke.MethodHandles.Lookup;
  30 import java.nicl.*;
  31 import java.nicl.metadata.*;
  32 
  33 /**
  34  * @test
  35  * @run testng/othervm BindLookupTest
  36  * @summary Tests for bind method(s) lookup checks
  37  */
  38 public class BindLookupTest {
  39     @NativeHeader
  40     public static interface system {
  41         @C(file="dummy", line=1, column=1, USR="c:@F@getpid")
  42         @NativeType(layout="()i", ctype="dummy", size=1)
  43         @CallingConvention(value=1)
  44         public abstract int getpid();
  45     }
  46 
  47     @Test(dataProvider = "Lookups")
  48     public void testBind(Lookup lookup, Class<?> exceptionClass) {
  49         checkIllegalArgumentException(()-> {
  50             system i = Libraries.bind(lookup, system.class);
  51          }, exceptionClass);
  52     }
  53 
  54     @Test
  55     public void testBindWithLibrary() {
  56         checkIllegalArgumentException(()-> {
  57             system i = Libraries.bind(system.class, Libraries.getDefaultLibrary());
  58          }, null);
  59     }
  60 
  61     @DataProvider(name = "Lookups")
  62     public static Object[][] lookups() {
  63         return new Object[][] {


  21  * questions.
  22  */
  23 
  24 import org.testng.Assert;
  25 import org.testng.annotations.DataProvider;
  26 import org.testng.annotations.Test;
  27 
  28 import java.lang.invoke.MethodHandles;
  29 import java.lang.invoke.MethodHandles.Lookup;
  30 import java.nicl.*;
  31 import java.nicl.metadata.*;
  32 
  33 /**
  34  * @test
  35  * @run testng/othervm BindLookupTest
  36  * @summary Tests for bind method(s) lookup checks
  37  */
  38 public class BindLookupTest {
  39     @NativeHeader
  40     public static interface system {
  41         @NativeLocation(file="dummy", line=1, column=1, USR="c:@F@getpid")
  42         @NativeType(layout="()i", ctype="dummy")

  43         public abstract int getpid();
  44     }
  45 
  46     @Test(dataProvider = "Lookups")
  47     public void testBind(Lookup lookup, Class<?> exceptionClass) {
  48         checkIllegalArgumentException(()-> {
  49             system i = Libraries.bind(lookup, system.class);
  50          }, exceptionClass);
  51     }
  52 
  53     @Test
  54     public void testBindWithLibrary() {
  55         checkIllegalArgumentException(()-> {
  56             system i = Libraries.bind(system.class, Libraries.getDefaultLibrary());
  57          }, null);
  58     }
  59 
  60     @DataProvider(name = "Lookups")
  61     public static Object[][] lookups() {
  62         return new Object[][] {
< prev index next >