> 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
