> Prior to this change, the DirPermissionDenied.java test used chmod to
> change directory permissions, which can fail on Windows either because
> chmod is not a native Windows program/command or because MSys2's
> implementation of chmod does not work well with Access Control Entries
> in Windows.  Consequently, the DirPermissionDenied.java test fails on
> Windows, except in specific restrictive cases such as when the test is
> run using the most recent version of Cygwin.
> 
> This patch updates the test so that instead of shelling out to chmod,
> the test now uses Java APIs to change the directory permission.  Key to
> this change is that depending on whether the filesystem supports POSIX
> or Access Control Lists, the test decides whether to use the Unix-style
> file permissions or ACL entries.  In the unlikely case that the test is
> unable to change the directory access as is required by the test, the
> test bails out with a `SkippedException`.  This is required on older
> versions of Windows, where Administrator accounts implictly have
> unconditional access to all files, even when there is an attempt to deny
> them access.
> 
> I've validated that this test now passes on macOS, Windows 11, and
> Windows Server 2022 Datacenter.
> 
> ---------
> - [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:

  Use JUnit's `Assumptions` instead of jtreg's `SkippedExecution`

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/31372/files
  - new: https://git.openjdk.org/jdk/pull/31372/files/2636979c..59ff699b

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=31372&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=31372&range=00-01

  Stats: 8 lines in 1 file changed: 2 ins; 2 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/31372.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/31372/head:pull/31372

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

Reply via email to