< prev index next >

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

Print this page




  23 
  24 import org.testng.annotations.Test;
  25 
  26 import java.nio.file.Path;
  27 import static org.testng.Assert.assertEquals;
  28 import static org.testng.Assert.assertNotNull;
  29 import static org.testng.Assert.assertTrue;
  30 
  31 /*
  32  * @test
  33  * @bug 8210911
  34  * @summary jextract does not handle redundant forward, backward declarations of struct, union, enum properly
  35  * @modules jdk.jextract
  36  * @build JextractToolRunner
  37  * @run testng RedundantDeclsTest
  38  */
  39 public class RedundantDeclsTest extends JextractToolRunner {
  40     @Test
  41     public void redundantDecls() {
  42         Path clzPath = getOutputFilePath("RedundentDecls.jar");
  43         checkSuccess(null,"-o", clzPath.toString(),
  44                 getInputFilePath("redundantDecls.h").toString());
  45         Class<?> headerCls = loadClass("redundantDecls", clzPath);
  46         Class<?>[] inners = headerCls.getDeclaredClasses();
  47         assertEquals(inners.length, 4);
  48 
  49         Class<?> pointStruct = findClass(inners, "Point");
  50         assertNotNull(findStructFieldGet(pointStruct, "i"));
  51         assertNotNull(findStructFieldGet(pointStruct, "j"));
  52 
  53         Class<?> point3DStruct = findClass(inners, "Point3D");
  54         assertNotNull(findStructFieldGet(point3DStruct, "i"));
  55         assertNotNull(findStructFieldGet(point3DStruct, "j"));
  56         assertNotNull(findStructFieldGet(point3DStruct, "k"));
  57 
  58         assertNotNull(findEnumConstGet(headerCls, "R"));
  59         assertNotNull(findEnumConstGet(headerCls, "G"));
  60         assertNotNull(findEnumConstGet(headerCls, "B"));
  61 
  62         assertNotNull(findEnumConstGet(headerCls, "C"));
  63         assertNotNull(findEnumConstGet(headerCls, "M"));
  64         assertNotNull(findEnumConstGet(headerCls, "Y"));


  23 
  24 import org.testng.annotations.Test;
  25 
  26 import java.nio.file.Path;
  27 import static org.testng.Assert.assertEquals;
  28 import static org.testng.Assert.assertNotNull;
  29 import static org.testng.Assert.assertTrue;
  30 
  31 /*
  32  * @test
  33  * @bug 8210911
  34  * @summary jextract does not handle redundant forward, backward declarations of struct, union, enum properly
  35  * @modules jdk.jextract
  36  * @build JextractToolRunner
  37  * @run testng RedundantDeclsTest
  38  */
  39 public class RedundantDeclsTest extends JextractToolRunner {
  40     @Test
  41     public void redundantDecls() {
  42         Path clzPath = getOutputFilePath("RedundentDecls.jar");
  43         run("-o", clzPath.toString(),
  44                 getInputFilePath("redundantDecls.h").toString()).checkSuccess();
  45         Class<?> headerCls = loadClass("redundantDecls", clzPath);
  46         Class<?>[] inners = headerCls.getDeclaredClasses();
  47         assertEquals(inners.length, 4);
  48 
  49         Class<?> pointStruct = findClass(inners, "Point");
  50         assertNotNull(findStructFieldGet(pointStruct, "i"));
  51         assertNotNull(findStructFieldGet(pointStruct, "j"));
  52 
  53         Class<?> point3DStruct = findClass(inners, "Point3D");
  54         assertNotNull(findStructFieldGet(point3DStruct, "i"));
  55         assertNotNull(findStructFieldGet(point3DStruct, "j"));
  56         assertNotNull(findStructFieldGet(point3DStruct, "k"));
  57 
  58         assertNotNull(findEnumConstGet(headerCls, "R"));
  59         assertNotNull(findEnumConstGet(headerCls, "G"));
  60         assertNotNull(findEnumConstGet(headerCls, "B"));
  61 
  62         assertNotNull(findEnumConstGet(headerCls, "C"));
  63         assertNotNull(findEnumConstGet(headerCls, "M"));
  64         assertNotNull(findEnumConstGet(headerCls, "Y"));
< prev index next >