On Mon, 8 Jun 2026 16:30:07 GMT, Ashay Rane <[email protected]> wrote:

>> 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`

Test works in our CI and solves our issues with chmod on Windows.
Thanks for taking care.

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

Marked as reviewed by azeller (Author).

PR Review: https://git.openjdk.org/jdk/pull/31372#pullrequestreview-4484751655

Reply via email to