> Although the original implementation of `JLI_Open()` borrowed from the > code in src/hotspot/os/windows/os_windows.cpp, the improvements to > os_windows.cpp don't seem to have been applied to java_md.c, causing > some tests to fail when the path to JAR files is longer than `MAXPATH` > (i.e. 260) characters on Windows (see associated JBS issue 8385024 for > details). Since `JLI_Open()` is not just invoked inside tests, this is > not a test-specific issue, so fixing the test is not the right solution. > > This patch applies the recent changes from os_windows.cpp to java_md.c > so that `JLI_Open()` can correctly handle longer than `MAXPATH` paths. > The new code is almost the same as that in `wide_abs_unc_path()` in > os_windows.cpp, except that the code in java_md.c uses `JLI_MemAlloc()` > and `JLI_MemFree()` for memory allocation and deallocation. > > Although it would be ideal to have just one implementation between > HotSpot and the launcher, the dependencies of the two components > prevents us from having a single implementation. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
Ashay Rane has updated the pull request incrementally with one additional commit since the last revision: Ensure hard failure when test doesn't pass Previously, when the `testLongPathJarFile()` or the `testLongResolvedPathJarFile()` test cases failed, the code in TestHelper would append an error message (that was checked at the end of the test) but the test cases themselves didn't throw an exception, so it wasn't clear _which_ test case failed. More precisely, the output said: ``` Total: Passed: 7, Failed 0 Total of 2 failed ``` This patch updates these tests so that upon failure, they throw an exception, causing the name of the failing test to be printed in the error log. ------------- Changes: - all: https://git.openjdk.org/jdk/pull/31209/files - new: https://git.openjdk.org/jdk/pull/31209/files/69c9bec9..3c3a528a Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=31209&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=31209&range=02-03 Stats: 13 lines in 1 file changed: 13 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/31209.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/31209/head:pull/31209 PR: https://git.openjdk.org/jdk/pull/31209
