test/jdk/tools/jpackage/share/jdk/jpackage/tests/BasicTest.java
branchJDK-8200758-branch
changeset 58762 0fe62353385b
parent 58671 3b578a5976df
child 58888 d802578912f3
equal deleted inserted replaced
58761:88e2753a2334 58762:0fe62353385b
    42  * @summary jpackage basic testing
    42  * @summary jpackage basic testing
    43  * @library ../../../../helpers
    43  * @library ../../../../helpers
    44  * @build jdk.jpackage.test.*
    44  * @build jdk.jpackage.test.*
    45  * @modules jdk.jpackage/jdk.jpackage.internal
    45  * @modules jdk.jpackage/jdk.jpackage.internal
    46  * @compile BasicTest.java
    46  * @compile BasicTest.java
    47  * @run main/othervm/timeout=360 -Xmx512m jdk.jpackage.test.Main
    47  * @run main/othervm/timeout=720 -Xmx512m jdk.jpackage.test.Main
    48  *  --jpt-run=jdk.jpackage.tests.BasicTest
    48  *  --jpt-run=jdk.jpackage.tests.BasicTest
    49  */
    49  */
    50 
    50 
    51 public final class BasicTest {
    51 public final class BasicTest {
    52     @Test
    52     @Test
   114         TKit.assertEquals(0, countStrings.apply(unexpectedPrefixes),
   114         TKit.assertEquals(0, countStrings.apply(unexpectedPrefixes),
   115                 "Check help text doesn't contain unexpected parameters");
   115                 "Check help text doesn't contain unexpected parameters");
   116     }
   116     }
   117 
   117 
   118     @Test
   118     @Test
       
   119     @SuppressWarnings("unchecked")
   119     public void testVerbose() {
   120     public void testVerbose() {
   120         JPackageCommand cmd = JPackageCommand.helloAppImage()
   121         JPackageCommand cmd = JPackageCommand.helloAppImage()
   121                 .setFakeRuntime().executePrerequisiteActions();
   122                 .setFakeRuntime().executePrerequisiteActions();
   122 
   123 
   123         List<String> expectedVerboseOutputStrings = new ArrayList<>();
   124         List<String> expectedVerboseOutputStrings = new ArrayList<>();
   137             TKit.throwUnknownPlatformError();
   138             TKit.throwUnknownPlatformError();
   138         }
   139         }
   139 
   140 
   140         TKit.deleteDirectoryContentsRecursive(cmd.outputDir());
   141         TKit.deleteDirectoryContentsRecursive(cmd.outputDir());
   141         List<String> nonVerboseOutput = cmd.createExecutor().executeAndGetOutput();
   142         List<String> nonVerboseOutput = cmd.createExecutor().executeAndGetOutput();
   142 
   143         List<String>[] verboseOutput = (List<String>[])new List<?>[1];
   143         TKit.deleteDirectoryContentsRecursive(cmd.outputDir());
   144 
   144         List<String> verboseOutput = cmd.createExecutor().addArgument(
   145         // Directory clean up is not 100% reliable on Windows because of
   145                 "--verbose").executeAndGetOutput();
   146         // antivirus software that can lock .exe files. Setup
   146 
   147         // diffreent output directory instead of cleaning the default one for
   147         TKit.assertTrue(nonVerboseOutput.size() < verboseOutput.size(),
   148         // verbose jpackage run.
       
   149         TKit.withTempDirectory("verbose-output", tempDir -> {
       
   150             cmd.setArgumentValue("--dest", tempDir);
       
   151             verboseOutput[0] = cmd.createExecutor().addArgument(
       
   152                     "--verbose").executeAndGetOutput();
       
   153         });
       
   154 
       
   155         TKit.assertTrue(nonVerboseOutput.size() < verboseOutput[0].size(),
   148                 "Check verbose output is longer than regular");
   156                 "Check verbose output is longer than regular");
   149 
   157 
   150         expectedVerboseOutputStrings.forEach(str -> {
   158         expectedVerboseOutputStrings.forEach(str -> {
   151             TKit.assertTextStream(str).label("regular output")
   159             TKit.assertTextStream(str).label("regular output")
   152                     .predicate(String::contains).negate()
   160                     .predicate(String::contains).negate()
   153                     .apply(nonVerboseOutput.stream());
   161                     .apply(nonVerboseOutput.stream());
   154         });
   162         });
   155 
   163 
   156         expectedVerboseOutputStrings.forEach(str -> {
   164         expectedVerboseOutputStrings.forEach(str -> {
   157             TKit.assertTextStream(str).label("verbose output")
   165             TKit.assertTextStream(str).label("verbose output")
   158                     .apply(verboseOutput.stream());
   166                     .apply(verboseOutput[0].stream());
   159         });
   167         });
   160     }
   168     }
   161 
   169 
   162     @Test
   170     @Test
   163     public void testNoName() {
   171     public void testNoName() {