> The test > `test/jdk/java/util/ResourceBundle/Control/MissingResourceCauseTest.java` > verifies different failure modes of resource bundles. One of the failures is > that the runner class, `MissingResourceCauseTestRun.java`, creates a file > `UnreadableRB`, and runs `chmod 000` on it, to make it unreadable by the > test. Then MissingResourceCauseTest is called, and the `UnreadableRB` file is > removed. > > This does not work reliably on Windows. On msys2, `chmod` is essentially a > no-op, so the file is not made unreadable, and hence the test fails. In my > personal cygwin test environment, the chmod command does have some effect, > but it is still not enough to make the file unreadable, and so the test fails. > > The test was originally a shell script test that got converted to Java in > [JDK-4354216](https://bugs.openjdk.org/browse/JDK-8213127). The original > shell script code explicitly excluded Windows from testing. This was changed > in the rewrite, for reasons I cannot determine. > > What suprises me, though, is the "how can this ever has worked???" factor. > Apparently the test passes on the current Cygwin setup on GHA. I have failed > to reproduce the working conditions that makes a file actually unreadable for > the owner on Windows, neither on my GHA test repo, nor locally. I've searched > the web to figure out how to properly set file permissions on Windows to make > the file unreadable, using Windows native tools, to no avail. I've even asked > a [Stack Overflow > question](https://stackoverflow.com/questions/72528318/what-file-permissions-make-a-file-unreadable-by-owner-in-windows); > which as of yet is still unanswered. > > Since I feel I've spent far more time than reasonable trying to get this to > work properly, I suggest we instead skip the unreadable test on Windows. It > is clearly unstable and highly depending on the Windows environment, the test > was never originally supported or intended for Windows, and at the of the > day, testing file unreadability is not an important regression test for > [JDK-4354216](https://bugs.openjdk.org/browse/JDK-4354216).
Magnus Ihse Bursie has updated the pull request incrementally with one additional commit since the last revision: From code review: use more robust OS check and move it to main() ------------- Changes: - all: https://git.openjdk.org/jdk/pull/9061/files - new: https://git.openjdk.org/jdk/pull/9061/files/7cd2dccf..162e928c Webrevs: - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=9061&range=01 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=9061&range=00-01 Stats: 6 lines in 1 file changed: 2 ins; 3 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/9061.diff Fetch: git fetch https://git.openjdk.org/jdk pull/9061/head:pull/9061 PR: https://git.openjdk.org/jdk/pull/9061