Fix MainClassTest class to use HelloApp.AppOutputVerifier class to run app 
launcher instead of raw Executor. This makes MainClassTest test run app 
launchers with retries. This change addresses the primary issue.

Fix inconsistencies in HelloApp.AppOutputVerifier class. It used to provide API 
allowing to run launchers without retries. It inconsistently allowed the 
execution of launchers with suppressed output (stdout and stderr). It 
inconsistently executed launchers with/without PATH removed from the 
environment.

These loopholes were eliminated:

 - stdout and stderr of app launchers is never suppressed;
 - PATH env variable is always deleted for app launchers on Windows. It is not 
deleted on other platforms. This change sets the correct scope of 
[JDK-8254920](https://bugs.openjdk.org/browse/JDK-8254920) fix that introduced 
the removal of PATH env variable for app launchers;
 - app launchers are always executed with retries unless the launcher is 
executed with `jpackage.test.noexit` system property set to `true` indicating 
the test app will not terminate on its own.

Other changes are due to changes in HelloApp.AppOutputVerifier class.

-------------

Commit messages:
 - Trailing spaces removed.
 - Run app launcher with retries if "jpackage.test.noexit" jpackage java option 
is not set or set to "false".  Otherwise run app launcher without retries. If 
the launcher never exits (jpackage.test.noexit=true), it should be terminated 
externally and thus it should not be restarted.
 - 8331977: Crash: SIGSEGV in dlerror()

Changes: https://git.openjdk.org/jdk/pull/19502/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19502&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8331977
  Stats: 122 lines in 5 files changed: 48 ins; 41 del; 33 mod
  Patch: https://git.openjdk.org/jdk/pull/19502.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19502/head:pull/19502

PR: https://git.openjdk.org/jdk/pull/19502

Reply via email to