You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2012/03/01 18:18:00 UTC

svn commit: r1295683 - in /commons/proper/io/trunk/src: changes/changes.xml main/java/org/apache/commons/io/FileUtils.java test/java/org/apache/commons/io/FileUtilsTestCase.java

Author: sebb
Date: Thu Mar  1 17:18:00 2012
New Revision: 1295683

URL: http://svn.apache.org/viewvc?rev=1295683&view=rev
Log:
IO-276 "FileUtils#deleteDirectoryOnExit(File)" does not work

Modified:
    commons/proper/io/trunk/src/changes/changes.xml
    commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java
    commons/proper/io/trunk/src/test/java/org/apache/commons/io/FileUtilsTestCase.java

Modified: commons/proper/io/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/changes/changes.xml?rev=1295683&r1=1295682&r2=1295683&view=diff
==============================================================================
--- commons/proper/io/trunk/src/changes/changes.xml (original)
+++ commons/proper/io/trunk/src/changes/changes.xml Thu Mar  1 17:18:00 2012
@@ -40,6 +40,9 @@ The <action> type attribute can be add,u
 
   <body>
     <release version="2.2" date="TBA">
+      <action dev="sebb" type="fix" issue="IO-276" due-to="nkami">
+        "FileUtils#deleteDirectoryOnExit(File)" does not work
+      </action>        
       <action dev="sebb" type="fix" issue="IO-273" due-to="sebb">
         BoundedInputStream.read() treats max differently from BoundedInputStream.read(byte[]...)
       </action>        

Modified: commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java?rev=1295683&r1=1295682&r2=1295683&view=diff
==============================================================================
--- commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java (original)
+++ commons/proper/io/trunk/src/main/java/org/apache/commons/io/FileUtils.java Thu Mar  1 17:18:00 2012
@@ -2061,10 +2061,10 @@ public class FileUtils {
             return;
         }
 
+        directory.deleteOnExit();
         if (!isSymlink(directory)) {
             cleanDirectoryOnExit(directory);
         }
-        directory.deleteOnExit();
     }
 
     /**

Modified: commons/proper/io/trunk/src/test/java/org/apache/commons/io/FileUtilsTestCase.java
URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/java/org/apache/commons/io/FileUtilsTestCase.java?rev=1295683&r1=1295682&r2=1295683&view=diff
==============================================================================
--- commons/proper/io/trunk/src/test/java/org/apache/commons/io/FileUtilsTestCase.java (original)
+++ commons/proper/io/trunk/src/test/java/org/apache/commons/io/FileUtilsTestCase.java Thu Mar  1 17:18:00 2012
@@ -2254,6 +2254,15 @@ public class FileUtilsTestCase extends F
         }
     }
 
+    public void testIO276() throws Exception {
+        File dir = new File("target", "IO276");
+        assertTrue(dir+" should not be present",dir.mkdirs());
+        File file = new File(dir,"IO276.txt");
+        assertTrue(file+" should not be present",file.createNewFile());
+        FileUtils.forceDeleteOnExit(dir); 
+        // If this does not work, test will fail next time (assuming target is not cleaned)
+    }
+
     /**
      * DirectoryWalker implementation that recursively lists all files and directories.
      */