Passes on macOS, fails on Linux and Windows with AccessDeniedException.
- Better comment
- Bullet-proof old test for re-runs
diff --git a/src/test/java/org/apache/commons/io/FileUtilsTest.java b/src/test/java/org/apache/commons/io/FileUtilsTest.java
index 626f507..d3aa328 100644
--- a/src/test/java/org/apache/commons/io/FileUtilsTest.java
+++ b/src/test/java/org/apache/commons/io/FileUtilsTest.java
@@ -1731,28 +1731,18 @@ public void testForceDeleteReadOnlyFile() throws Exception {
}
@Test
- public void testForceDeleteUnwritableDirectory() throws Exception {
- try (TempDirectory destDir = TempDirectory.create("dir-");
- TempFile destination = TempFile.create(destDir, "test-", ".txt")) {
- // sanity check structure
- assertTrue(Files.isDirectory(destDir.get()));
- assertEquals(destDir.get(), destination.get().getParent());
- // sanity check attributes
- final File file = destDir.toFile();
+ public void testForceDeleteUnwritableFile() throws Exception {
+ try (TempFile destination = TempFile.create("test-", ".txt")) {
+ final File file = destination.toFile();
assertTrue(file.canWrite());
assertTrue(file.setWritable(false));
assertFalse(file.canWrite());
assertTrue(file.canRead());
- // sanity check that File.delete() cannot delete non-empty directories.
- assertFalse(file.delete());
+ // sanity check that File.delete() deletes unwritable files.
+ assertTrue(file.delete());
}
- try (TempDirectory destDir = TempDirectory.create("dir-");
- TempFile destination = TempFile.create(destDir, "test-", ".txt")) {
- // sanity check structure
- assertTrue(Files.isDirectory(destDir.get()));
- assertEquals(destDir.get(), destination.get().getParent());
- // sanity check attributes
- final File file = destDir.toFile();
+ try (TempFile destination = TempFile.create("test-", ".txt")) {
+ final File file = destination.toFile();
// real test
assertTrue(file.canWrite());
assertTrue(file.setWritable(false));