summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2009-03-09 09:40:13 +0000
committerMartin Ritchie <ritchiem@apache.org>2009-03-09 09:40:13 +0000
commit043bd565f3517cd06c1742c6de90ffef30e8bec4 (patch)
tree1c15781aff7d54ef349840110f2efc7c13a9529a
parentbab8070ad7989386b11f4106d9f15e73d9246c1d (diff)
downloadqpid-python-043bd565f3517cd06c1742c6de90ffef30e8bec4.tar.gz
FileUtils would report a failure to delete a non-existent file
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@751636 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/common/src/main/java/org/apache/qpid/util/FileUtils.java4
-rw-r--r--java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java10
2 files changed, 12 insertions, 2 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/util/FileUtils.java b/java/common/src/main/java/org/apache/qpid/util/FileUtils.java
index 585657c8bb..029e298c32 100644
--- a/java/common/src/main/java/org/apache/qpid/util/FileUtils.java
+++ b/java/common/src/main/java/org/apache/qpid/util/FileUtils.java
@@ -247,7 +247,7 @@ public class FileUtils
boolean success = true;
// If we have nothing to delete then it must be ok to say it was deleted.
- if (file == null)
+ if (file == null || !file.exists())
{
return true;
}
@@ -258,7 +258,7 @@ public class FileUtils
{
for (File subFile : file.listFiles())
{
- success = delete(subFile, true) & success ;
+ success = delete(subFile, true) && success;
}
return success && file.delete();
diff --git a/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java b/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java
index fb367d042c..76d39200c1 100644
--- a/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java
+++ b/java/common/src/test/java/org/apache/qpid/util/FileUtilsTest.java
@@ -280,6 +280,16 @@ public class FileUtilsTest extends TestCase
checkFileLists(filesBefore, filesAfter);
}
+ public void testDeleteNonExistentFile()
+ {
+ File test = new File("FileUtilsTest-testDelete-"+System.currentTimeMillis());
+
+ assertTrue("File exists", !test.exists());
+ assertFalse("File is a directory", test.isDirectory());
+
+ assertTrue("Unable to delete",FileUtils.delete(test,true));
+ }
+
/**
* Given two lists of File arrays ensure they are the same length and all entries in Before are in After
*