< prev index next >

test/jdk/tools/jimage/JImageCliTest.java

Print this page




  80     }
  81 
  82     protected static class JImageResult {
  83         final int exitCode;
  84         final String output;
  85 
  86         JImageResult(int exitCode, String output) {
  87             this.exitCode = exitCode;
  88             this.output = output;
  89         }
  90 
  91         JImageResult assertSuccess() { assertTrue(exitCode == 0, output); return this; }
  92         JImageResult assertFailure() { assertFalse(exitCode == 0, output); return this; }
  93 
  94         // a helper to ensure the error output doesn't exhibit implementation details
  95         JImageResult assertShowsError() {
  96             assertTrue(output.contains("Error"),
  97                     String.format("Output contains error, output=[%s]\n", output));
  98             assertFalse(output.contains("Exception"),
  99                     String.format("Output doesn't contain a stacktrace, output=[%s]\n", output));

 100             return this;
 101         }
 102 
 103         JImageResult resultChecker(Consumer<JImageResult> r) { r.accept(this); return this; }
 104     }
 105 
 106     protected final void runTests() throws Throwable {
 107         if (getImagePath() != null) {

 108             for (Method m : getClass().getDeclaredMethods()) {
 109                 if (m.getName().startsWith("test")) {




 110                     System.out.printf("Invoking %s\n", m.getName());
 111                     m.invoke(this);

 112                 }
 113             }
 114         } else {
 115             System.out.println("This is not an image build. Skipping.");
 116         }
 117     }
 118 
 119 }
 120 


  80     }
  81 
  82     protected static class JImageResult {
  83         final int exitCode;
  84         final String output;
  85 
  86         JImageResult(int exitCode, String output) {
  87             this.exitCode = exitCode;
  88             this.output = output;
  89         }
  90 
  91         JImageResult assertSuccess() { assertTrue(exitCode == 0, output); return this; }
  92         JImageResult assertFailure() { assertFalse(exitCode == 0, output); return this; }
  93 
  94         // a helper to ensure the error output doesn't exhibit implementation details
  95         JImageResult assertShowsError() {
  96             assertTrue(output.contains("Error"),
  97                     String.format("Output contains error, output=[%s]\n", output));
  98             assertFalse(output.contains("Exception"),
  99                     String.format("Output doesn't contain a stacktrace, output=[%s]\n", output));
 100             System.out.print(output);
 101             return this;
 102         }
 103 
 104         JImageResult resultChecker(Consumer<JImageResult> r) { r.accept(this); return this; }
 105     }
 106 
 107     protected final void runTests() throws Throwable {
 108         if (getImagePath() != null) {
 109             Method beforeTestMethod = getClass().getDeclaredMethod("beforeTest");
 110             for (Method m : getClass().getDeclaredMethods()) {
 111                 if (m.getName().startsWith("test")) {
 112                     if (beforeTestMethod != null) {
 113                         System.out.printf("Invoking %s\n", beforeTestMethod.getName());
 114                         beforeTestMethod.invoke(this);
 115                     }
 116                     System.out.printf("Invoking %s\n", m.getName());
 117                     m.invoke(this);
 118                     System.out.println();
 119                 }
 120             }
 121         } else {
 122             System.out.println("This is not an image build. Skipping.");
 123         }
 124     }
 125 
 126 }
 127 
< prev index next >