test/hotspot/jtreg/runtime/appcds/VerifierTest.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File open Sdiff test/hotspot/jtreg/runtime/appcds

test/hotspot/jtreg/runtime/appcds/VerifierTest.java

Print this page




  85                                               "UnverifiableIntfSub",
  86                                               "VerifierTestA",
  87                                               "VerifierTestB",
  88                                               "VerifierTestC",
  89                                               "VerifierTestD",
  90                                               "VerifierTestE",
  91                                               "VerifierTest0");
  92 
  93 
  94         switch (subCaseId) {
  95         case "0":         testset_0(jar, noAppClasses, appClasses);                 return;
  96         case "1A":        testset_1(jar, noAppClasses, appClasses, Testset1Part.A); return;
  97         case "1B":        testset_1(jar, noAppClasses, appClasses, Testset1Part.B); return;
  98         case "2":         testset_2(jarName_greet, jarName_hi);                   return;
  99         default:
 100             throw new RuntimeException("Unknown option: " + subCaseId);
 101         }
 102     }
 103 
 104     static void testset_0(String jar, String[] noAppClasses, String[] appClasses) throws Exception {
 105         // Dumping should fail if the IgnoreUnverifiableClassesDuringDump
 106         // option is not enabled.
 107         OutputAnalyzer output = TestCommon.dump(jar, appClasses,
 108                             CDS_LOGGING,
 109                             "-XX:+UnlockDiagnosticVMOptions",
 110                             "-XX:-IgnoreUnverifiableClassesDuringDump");
 111         output.shouldContain("Please remove the unverifiable classes");
 112         output.shouldHaveExitValue(1);
 113 
 114         // By default, bad classes should be ignored during dumping.
 115         TestCommon.testDump(jar, appClasses);
 116     }
 117 
 118     static void checkRuntimeOutput(OutputAnalyzer output, String expected) throws Exception {
 119         output.shouldContain(expected);
 120         if (expected.equals(PASS_RESULT) ||
 121             expected.equals(VFY_ERR)) {
 122             output.shouldHaveExitValue(0);
 123         } else {
 124             output.shouldNotHaveExitValue(0);
 125         }
 126     }
 127 
 128     static void testset_1(String jar, String[] noAppClasses, String[] appClasses, Testset1Part part)
 129         throws Exception
 130     {
 131         String config[][] = {
 132             // {dump_list, dumptime_verification_setting,




  85                                               "UnverifiableIntfSub",
  86                                               "VerifierTestA",
  87                                               "VerifierTestB",
  88                                               "VerifierTestC",
  89                                               "VerifierTestD",
  90                                               "VerifierTestE",
  91                                               "VerifierTest0");
  92 
  93 
  94         switch (subCaseId) {
  95         case "0":         testset_0(jar, noAppClasses, appClasses);                 return;
  96         case "1A":        testset_1(jar, noAppClasses, appClasses, Testset1Part.A); return;
  97         case "1B":        testset_1(jar, noAppClasses, appClasses, Testset1Part.B); return;
  98         case "2":         testset_2(jarName_greet, jarName_hi);                   return;
  99         default:
 100             throw new RuntimeException("Unknown option: " + subCaseId);
 101         }
 102     }
 103 
 104     static void testset_0(String jar, String[] noAppClasses, String[] appClasses) throws Exception {
 105         // IgnoreUnverifiableClassesDuringDump has been obsoleted.
 106         // Unverifiable classes won't be included in the CDS archive.
 107         OutputAnalyzer output = TestCommon.dump(jar, appClasses,
 108                             CDS_LOGGING,
 109                             "-XX:+UnlockDiagnosticVMOptions",
 110                             "-XX:-IgnoreUnverifiableClassesDuringDump");
 111         output.shouldHaveExitValue(0);

 112 
 113         // By default, bad classes should be ignored during dumping.
 114         TestCommon.testDump(jar, appClasses);
 115     }
 116 
 117     static void checkRuntimeOutput(OutputAnalyzer output, String expected) throws Exception {
 118         output.shouldContain(expected);
 119         if (expected.equals(PASS_RESULT) ||
 120             expected.equals(VFY_ERR)) {
 121             output.shouldHaveExitValue(0);
 122         } else {
 123             output.shouldNotHaveExitValue(0);
 124         }
 125     }
 126 
 127     static void testset_1(String jar, String[] noAppClasses, String[] appClasses, Testset1Part part)
 128         throws Exception
 129     {
 130         String config[][] = {
 131             // {dump_list, dumptime_verification_setting,


test/hotspot/jtreg/runtime/appcds/VerifierTest.java
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File