On Wed, 5 Feb 2025 19:44:54 GMT, Alexey Semenyuk <asemen...@openjdk.org> wrote:
>> test/jdk/tools/jpackage/share/JLinkOptionsTest.java line 175: >> >>> 173: .setExecutable(cmd.appLauncherPath().toAbsolutePath()) >>> 174: .addArguments("--print-modules") >>> 175: .executeAndRepeatUntilExitCode(0, attempts, >> >> Is there any reason why we need to repeat execution? > > Yes, launchers in tests are executed multiple times because they may > sporadically crash due to an unidentified issue with JVM termination. > > Usually, launchers are not explicitly executed in the tests. They are > executed as a part of > `JPackageCommand.executeAndAssertHelloAppImageCreated()` call, which attempts > to run them multiple times if necessary. > > In this test, launcher is explicitly executed and the setup to run it > multiple times if needed is explicit. > > This setup copies a setup to run launchers from > [HelloApp.AppOutputVerifier.execute()](https://github.com/openjdk/jdk/blob/379c3f99665829c5d8c373d1fb324dc7ef4d84cf/test/jdk/tools/jpackage/helpers/jdk/jpackage/test/HelloApp.java#L441) I reworked this part using `HelloApp.assertApp()` function. It wraps restart details. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23047#discussion_r1943600965