On Wed, 13 Dec 2023 07:08:53 GMT, David Holmes <dhol...@openjdk.org> wrote:
>> Improve the test by being more lenient to related code cache exhaustion >> errors. The important thing is that we don't terminate with a fatal error, >> which the new code now checks for explicitly. The check for that is based on >> what is done by >> `./test/hotspot/jtreg/runtime/ErrorHandling/HsErrFileUtils.java` . >> >> The existing `UpcallTestHelper.Output` class that was previously used to >> assert on stdout/stderr contents did not have the capability to look for >> patterns in the output. So, I've taken the opportunity to replace it with >> the more canonical `OutputAnalyzer` which comes from the test library. >> >> Finally, I've also added back the test for downcall stub allocation failure >> which was removed as part of the initial patch because it was too >> inconsistent [1]. With the new approach, it should pass reliably as well. >> >> Testing: `jdk_foreign` suite (which contains all the affected tests) >> >> [1]: >> https://github.com/openjdk/jdk/pull/16311/commits/9a1360598a91871ce6ec48330849c0e4e0279c64 > > test/jdk/java/foreign/TestStubAllocFailure.java line 51: > >> 49: runInNewProcess(UpcallRunner.class, true, >> List.of("-XX:ReservedCodeCacheSize=3M"), List.of()) >> 50: .shouldNotHaveExitValue(0) >> 51: .shouldNotHaveFatalError(); > > Just curious what non-zero exit value is actually expected here and below? Any non-zero exit value is acceptable. The intent here is to check that the process didn't complete normally. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17056#discussion_r1425357636