> 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

Reply via email to