Skip to content

Commit 4cef529

Browse files
committed
IO-276 "FileUtils#deleteDirectoryOnExit(File)" does not work
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/io/trunk@1295683 13f79535-47bb-0310-9956-ffa450edef68
1 parent b1dede0 commit 4cef529

3 files changed

Lines changed: 13 additions & 1 deletion

File tree

src/changes/changes.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ The <action> type attribute can be add,update,fix,remove.
4040

4141
<body>
4242
<release version="2.2" date="TBA">
43+
<action dev="sebb" type="fix" issue="IO-276" due-to="nkami">
44+
"FileUtils#deleteDirectoryOnExit(File)" does not work
45+
</action>
4346
<action dev="sebb" type="fix" issue="IO-273" due-to="sebb">
4447
BoundedInputStream.read() treats max differently from BoundedInputStream.read(byte[]...)
4548
</action>

src/main/java/org/apache/commons/io/FileUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2061,10 +2061,10 @@ private static void deleteDirectoryOnExit(File directory) throws IOException {
20612061
return;
20622062
}
20632063

2064+
directory.deleteOnExit();
20642065
if (!isSymlink(directory)) {
20652066
cleanDirectoryOnExit(directory);
20662067
}
2067-
directory.deleteOnExit();
20682068
}
20692069

20702070
/**

src/test/java/org/apache/commons/io/FileUtilsTestCase.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2254,6 +2254,15 @@ public void testMoveToDirectory_Errors() throws Exception {
22542254
}
22552255
}
22562256

2257+
public void testIO276() throws Exception {
2258+
File dir = new File("target", "IO276");
2259+
assertTrue(dir+" should not be present",dir.mkdirs());
2260+
File file = new File(dir,"IO276.txt");
2261+
assertTrue(file+" should not be present",file.createNewFile());
2262+
FileUtils.forceDeleteOnExit(dir);
2263+
// If this does not work, test will fail next time (assuming target is not cleaned)
2264+
}
2265+
22572266
/**
22582267
* DirectoryWalker implementation that recursively lists all files and directories.
22592268
*/

0 commit comments

Comments
 (0)