< prev index next >

test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccess.java

Print this page
@@ -21,23 +21,20 @@
   * questions.
   */
  
  /*
   * @test
-  * @enablePreview
-  * @requires jdk.foreign.linker != "UNSUPPORTED"
   * @requires !vm.musl
   *
   * @library /test/lib
   * @build TestEnableNativeAccess
   *        panama_module/*
-  *        org.openjdk.foreigntest.PanamaMainUnnamedModule
+  *        org.openjdk.foreigntest.unnamed.PanamaMainUnnamedModule
   * @run testng/othervm/timeout=180 TestEnableNativeAccess
   * @summary Basic test for java --enable-native-access
   */
  
- import java.util.ArrayList;
  import java.util.List;
  import java.util.stream.Stream;
  
  import jdk.test.lib.process.ProcessTools;
  import jdk.test.lib.process.OutputAnalyzer;

@@ -55,79 +52,11 @@
   *  if flag not present:    - permit access to all modules and omit a warning
   *                            (on first access per module only)
  */
  
  @Test
- public class TestEnableNativeAccess {
- 
-     static final String MODULE_PATH = System.getProperty("jdk.module.path");
- 
-     static final String PANAMA_MAIN = "panama_module/org.openjdk.foreigntest.PanamaMainDirect";
-     static final String PANAMA_REFLECTION = "panama_module/org.openjdk.foreigntest.PanamaMainReflection";
-     static final String PANAMA_INVOKE = "panama_module/org.openjdk.foreigntest.PanamaMainInvoke";
-     static final String PANAMA_JNI = "panama_module/org.openjdk.foreigntest.PanamaMainJNI";
-     static final String UNNAMED = "org.openjdk.foreigntest.PanamaMainUnnamedModule";
- 
-     /**
-      * Represents the expected result of a test.
-      */
-     static final class Result {
-         private final boolean success;
-         private final List<String> expectedOutput = new ArrayList<>();
-         private final List<String> notExpectedOutput = new ArrayList<>();
- 
-         Result(boolean success) {
-             this.success = success;
-         }
- 
-         Result expect(String msg) {
-             expectedOutput.add(msg);
-             return this;
-         }
- 
-         Result doNotExpect(String msg) {
-             notExpectedOutput.add(msg);
-             return this;
-         }
- 
-         boolean shouldSucceed() {
-             return success;
-         }
- 
-         Stream<String> expectedOutput() {
-             return expectedOutput.stream();
-         }
- 
-         Stream<String> notExpectedOutput() {
-             return notExpectedOutput.stream();
-         }
- 
-         @Override
-         public String toString() {
-             String s = (success) ? "success" : "failure";
-             for (String msg : expectedOutput) {
-                 s += "/" + msg;
-             }
-             return s;
-         }
-     }
- 
-     static Result success() {
-         return new Result(true);
-     }
- 
-     static Result successNoWarning() {
-         return success().doNotExpect("WARNING");
-     }
- 
-     static Result successWithWarning(String moduleName) {
-         return success().expect("WARNING").expect("--enable-native-access=" + moduleName);
-     }
- 
-     static Result failWithWarning(String expectedOutput) {
-         return new Result(false).expect(expectedOutput).expect("WARNING");
-     }
+ public class TestEnableNativeAccess extends TestEnableNativeAccessBase {
  
      @DataProvider(name = "succeedCases")
      public Object[][] succeedCases() {
          return new Object[][] {
                  { "panama_enable_native_access", PANAMA_MAIN, successNoWarning(), new String[]{"--enable-native-access=panama_module"} },

@@ -148,25 +77,10 @@
                  { "panama_no_unnamed_module_native_access", UNNAMED, successWithWarning("ALL-UNNAMED"), new String[]{} },
                  { "panama_all_unnamed_module_native_access", UNNAMED, successNoWarning(), new String[]{"--enable-native-access=ALL-UNNAMED"} },
          };
      }
  
-     /**
-      * Checks an expected result with the output captured by the given
-      * OutputAnalyzer.
-      */
-     void checkResult(Result expectedResult, OutputAnalyzer outputAnalyzer) {
-         expectedResult.expectedOutput().forEach(outputAnalyzer::shouldContain);
-         expectedResult.notExpectedOutput().forEach(outputAnalyzer::shouldNotContain);
-         int exitValue = outputAnalyzer.getExitValue();
-         if (expectedResult.shouldSucceed()) {
-             assertTrue(exitValue == 0);
-         } else {
-             assertTrue(exitValue != 0);
-         }
-     }
- 
      /**
       * Runs the test to execute the given test action. The VM is run with the
       * given VM options and the output checked to see that it matches the
       * expected result.
       */

@@ -174,12 +88,12 @@
              throws Exception
      {
          Stream<String> s1 = Stream.concat(
                  Stream.of(vmopts),
                  Stream.of("-Djava.library.path=" + System.getProperty("java.library.path")));
-         Stream<String> s2 = cls.equals(UNNAMED) ? Stream.of("--enable-preview", "-p", MODULE_PATH, cls, action)
-                 : Stream.of("--enable-preview", "-p", MODULE_PATH, "-m", cls, action);
+         Stream<String> s2 = cls.equals(UNNAMED) ? Stream.of("-p", MODULE_PATH, cls, action)
+                 : Stream.of("-p", MODULE_PATH, "-m", cls, action);
          String[] opts = Stream.concat(s1, s2).toArray(String[]::new);
          OutputAnalyzer outputAnalyzer = ProcessTools
                  .executeTestJava(opts)
                  .outputTo(System.out)
                  .errorTo(System.out);
< prev index next >