< prev index next >

test/jdk/com/sun/tools/jextract/EmptyStructTest.java

Print this page




  24 import org.testng.annotations.Test;
  25 
  26 import java.foreign.layout.Layout;
  27 import java.foreign.annotations.NativeStruct;
  28 import java.nio.file.Path;
  29 
  30 import static org.testng.Assert.assertEquals;
  31 import static org.testng.Assert.assertNotNull;
  32 import static org.testng.Assert.assertTrue;
  33 
  34 /*
  35  * @test
  36  * @modules jdk.jextract
  37  * @build JextractToolRunner
  38  * @run testng EmptyStructTest
  39  */
  40 public class EmptyStructTest extends JextractToolRunner {
  41     @Test
  42     public void emptyStruct() {
  43         Path clzPath = getOutputFilePath("EmptyStructTest.jar");
  44         checkSuccess(null,"-o", clzPath.toString(),
  45                 getInputFilePath("emptyStruct.h").toString());
  46         Class<?> cls = loadClass("emptyStruct", clzPath);
  47         Class<?>[] inners = cls.getDeclaredClasses();
  48         assertEquals(inners.length, 3);
  49         Class<?> emptyStruct = findClass(inners, "EmptyStruct");
  50         Class<?> nothing = findClass(inners, "Nothing");
  51         assertTrue(nothing.isAnnotation());
  52         NativeStruct ns = emptyStruct.getAnnotation(NativeStruct.class);
  53         assertNotNull(ns);
  54         Layout layout = Layout.of(ns.value());
  55         assertEquals(layout.bitsSize(), 0);
  56         deleteFile(clzPath);
  57     }
  58 }


  24 import org.testng.annotations.Test;
  25 
  26 import java.foreign.layout.Layout;
  27 import java.foreign.annotations.NativeStruct;
  28 import java.nio.file.Path;
  29 
  30 import static org.testng.Assert.assertEquals;
  31 import static org.testng.Assert.assertNotNull;
  32 import static org.testng.Assert.assertTrue;
  33 
  34 /*
  35  * @test
  36  * @modules jdk.jextract
  37  * @build JextractToolRunner
  38  * @run testng EmptyStructTest
  39  */
  40 public class EmptyStructTest extends JextractToolRunner {
  41     @Test
  42     public void emptyStruct() {
  43         Path clzPath = getOutputFilePath("EmptyStructTest.jar");
  44         run("-o", clzPath.toString(),
  45                 getInputFilePath("emptyStruct.h").toString()).checkSuccess();
  46         Class<?> cls = loadClass("emptyStruct", clzPath);
  47         Class<?>[] inners = cls.getDeclaredClasses();
  48         assertEquals(inners.length, 3);
  49         Class<?> emptyStruct = findClass(inners, "EmptyStruct");
  50         Class<?> nothing = findClass(inners, "Nothing");
  51         assertTrue(nothing.isAnnotation());
  52         NativeStruct ns = emptyStruct.getAnnotation(NativeStruct.class);
  53         assertNotNull(ns);
  54         Layout layout = Layout.of(ns.value());
  55         assertEquals(layout.bitsSize(), 0);
  56         deleteFile(clzPath);
  57     }
  58 }
< prev index next >