diff -r 88e2753a2334 -r 0fe62353385b test/jdk/tools/jpackage/share/jdk/jpackage/tests/BasicTest.java --- a/test/jdk/tools/jpackage/share/jdk/jpackage/tests/BasicTest.java Wed Oct 23 10:10:34 2019 -0400 +++ b/test/jdk/tools/jpackage/share/jdk/jpackage/tests/BasicTest.java Wed Oct 23 10:37:54 2019 -0400 @@ -44,7 +44,7 @@ * @build jdk.jpackage.test.* * @modules jdk.jpackage/jdk.jpackage.internal * @compile BasicTest.java - * @run main/othervm/timeout=360 -Xmx512m jdk.jpackage.test.Main + * @run main/othervm/timeout=720 -Xmx512m jdk.jpackage.test.Main * --jpt-run=jdk.jpackage.tests.BasicTest */ @@ -116,6 +116,7 @@ } @Test + @SuppressWarnings("unchecked") public void testVerbose() { JPackageCommand cmd = JPackageCommand.helloAppImage() .setFakeRuntime().executePrerequisiteActions(); @@ -139,12 +140,19 @@ TKit.deleteDirectoryContentsRecursive(cmd.outputDir()); List nonVerboseOutput = cmd.createExecutor().executeAndGetOutput(); + List[] verboseOutput = (List[])new List[1]; - TKit.deleteDirectoryContentsRecursive(cmd.outputDir()); - List verboseOutput = cmd.createExecutor().addArgument( - "--verbose").executeAndGetOutput(); + // Directory clean up is not 100% reliable on Windows because of + // antivirus software that can lock .exe files. Setup + // diffreent output directory instead of cleaning the default one for + // verbose jpackage run. + TKit.withTempDirectory("verbose-output", tempDir -> { + cmd.setArgumentValue("--dest", tempDir); + verboseOutput[0] = cmd.createExecutor().addArgument( + "--verbose").executeAndGetOutput(); + }); - TKit.assertTrue(nonVerboseOutput.size() < verboseOutput.size(), + TKit.assertTrue(nonVerboseOutput.size() < verboseOutput[0].size(), "Check verbose output is longer than regular"); expectedVerboseOutputStrings.forEach(str -> { @@ -155,7 +163,7 @@ expectedVerboseOutputStrings.forEach(str -> { TKit.assertTextStream(str).label("verbose output") - .apply(verboseOutput.stream()); + .apply(verboseOutput[0].stream()); }); }