This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-io.git

commit f6b8c06559524003d001d59002749c062aa40757
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sun Mar 24 10:38:02 2024 -0400

    Passes on macOS, fails on Linux and Windows with AccessDeniedException.
    
    - Better comment
    - Bullet-proof old test for re-runs
---
 .../java/org/apache/commons/io/FileUtilsTest.java  | 32 +++++++++++++++++-----
 1 file changed, 25 insertions(+), 7 deletions(-)

diff --git a/src/test/java/org/apache/commons/io/FileUtilsTest.java 
b/src/test/java/org/apache/commons/io/FileUtilsTest.java
index 6c6e5cc9b..626f50747 100644
--- a/src/test/java/org/apache/commons/io/FileUtilsTest.java
+++ b/src/test/java/org/apache/commons/io/FileUtilsTest.java
@@ -1673,6 +1673,10 @@ public class FileUtilsTest extends AbstractTempDirTest {
     public void testForceDeleteReadOnlyDirectory() 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 = destination.toFile();
             assertTrue(file.setReadOnly());
             assertTrue(file.canRead());
@@ -1686,6 +1690,10 @@ public class FileUtilsTest extends AbstractTempDirTest {
         }
         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 dir = destDir.toFile();
             // real test
             assertTrue(dir.setReadOnly());
@@ -1723,18 +1731,28 @@ public class FileUtilsTest extends AbstractTempDirTest {
     }
 
     @Test
-    public void testForceDeleteUnwritableFile() throws Exception {
-        try (TempFile destination = TempFile.create("test-", ".txt")) {
-            final File file = destination.toFile();
+    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();
             assertTrue(file.canWrite());
             assertTrue(file.setWritable(false));
             assertFalse(file.canWrite());
             assertTrue(file.canRead());
-            // sanity check that File.delete() deletes unwritable files.
-            assertTrue(file.delete());
+            // sanity check that File.delete() cannot delete non-empty 
directories.
+            assertFalse(file.delete());
         }
-        try (TempFile destination = TempFile.create("test-", ".txt")) {
-            final File file = destination.toFile();
+        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();
             // real test
             assertTrue(file.canWrite());
             assertTrue(file.setWritable(false));

Reply via email to