< prev index next >

test/jdk/java/foreign/enablenativeaccess/TestEnableNativeAccessDynamic.java

Print this page
*** 21,12 ***
   * questions.
   */
  
  /*
   * @test
-  * @enablePreview
-  * @requires jdk.foreign.linker != "UNSUPPORTED"
   * @requires !vm.musl
   *
   * @library /test/lib
   * @build TestEnableNativeAccessDynamic
   *        panama_module/*
--- 21,10 ---

*** 35,84 ***
   * @summary Test for dynamically setting --enable-native-access flag for a module
   */
  
  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;
  
  import org.testng.annotations.DataProvider;
  import org.testng.annotations.Test;
- import static org.testng.Assert.*;
  
  @Test
! public class TestEnableNativeAccessDynamic {
- 
-     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";
- 
-     /**
-      * 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 failWithError(String expectedOutput) {
-         return new Result(false).expect(expectedOutput);
-     }
  
      @DataProvider(name = "succeedCases")
      public Object[][] succeedCases() {
          return new Object[][] {
                  { "panama_enable_native_access", PANAMA_MAIN, successNoWarning() },
--- 33,19 ---
   * @summary Test for dynamically setting --enable-native-access flag for a module
   */
  
  import java.util.ArrayList;
  import java.util.List;
  
  import jdk.test.lib.process.ProcessTools;
  import jdk.test.lib.process.OutputAnalyzer;
  
  import org.testng.annotations.DataProvider;
  import org.testng.annotations.Test;
  
  @Test
! public class TestEnableNativeAccessDynamic extends TestEnableNativeAccessBase {
  
      @DataProvider(name = "succeedCases")
      public Object[][] succeedCases() {
          return new Object[][] {
                  { "panama_enable_native_access", PANAMA_MAIN, successNoWarning() },

*** 129,35 ***
                  { "panama_enable_native_access_fail_reflection", PANAMA_REFLECTION, failWithError(errMsg) },
                  { "panama_enable_native_access_fail_invoke", PANAMA_INVOKE, failWithError(errMsg) },
          };
      }
  
-     /**
-      * 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.
       */
      OutputAnalyzer run(String action, String moduleAndCls, boolean enableNativeAccess,
              Result expectedResult, boolean panamaModuleInBootLayer) throws Exception
      {
          List<String> list = new ArrayList<>();
-         list.add("--enable-preview");
          if (panamaModuleInBootLayer) {
              list.addAll(List.of("-p", MODULE_PATH));
              list.add("--add-modules=panama_module");
              list.add("--enable-native-access=panama_module");
          } else {
--- 62,19 ---
< prev index next >