Bullet-proofing of tests

Don't fail a test during its clean up phase if some of its resources
could not be released because they were not allocated in the first
place. IOW, don't try top delete or close a file that does not exist.
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/AgeFileFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/AgeFileFilterTest.java
index 3dd1f7e..15b9b0e 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/AgeFileFilterTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/AgeFileFilterTest.java
@@ -21,6 +21,7 @@
 import java.util.Date;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.vfs2.FileFilterSelector;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.commons.vfs2.FileSelectInfo;
@@ -73,7 +74,7 @@
         oldFileInfo = null;
         oldFile = null;
 
-        zipFileObj.close();
+        IOUtils.close(zipFileObj);
         FileUtils.deleteQuietly(zipFile);
         zipFile = null;
 
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/BaseFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/BaseFilterTest.java
index 470c9d4..1f9ec50 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/BaseFilterTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/BaseFilterTest.java
@@ -148,6 +148,12 @@
         }
     }
 
+    protected static void delete(final File file) {
+        if (file != null) {
+            file.delete();
+        }
+    }
+
     /**
      * Returns the temporary directory.
      *
@@ -165,7 +171,9 @@
      * @return Subdirectory of java.io.tmpdir.
      */
     protected static File getTestDir(final String name) {
-        return new File(getTempDir(), name);
+        final File file = new File(getTempDir(), name);
+        file.mkdirs();
+        return file;
     }
 
     /**
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanExecuteFileFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanExecuteFileFilterTest.java
index 7465369..8d0dcc2 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanExecuteFileFilterTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanExecuteFileFilterTest.java
@@ -23,6 +23,7 @@
 import java.io.IOException;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.commons.vfs2.FileSelectInfo;
 import org.apache.commons.vfs2.FileSystemException;
@@ -62,19 +63,17 @@
 
     @AfterAll
     public static void afterClass() throws IOException {
-
         executableFileInfo = null;
-        executableFile.delete();
-        executableFile = null;
+        delete(executableFile);
 
         notExecutableFileInfo = null;
-        notExecutableFile.delete();
+        delete(notExecutableFile);
         notExecutableFile = null;
 
         notExistingFileInfo = null;
         notExistingFile = null;
 
-        zipFileObj.close();
+        IOUtils.close(zipFileObj);
         FileUtils.deleteQuietly(zipFile);
         zipFile = null;
 
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanReadFileFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanReadFileFilterTest.java
index 7f90d44..45bfbd5 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanReadFileFilterTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanReadFileFilterTest.java
@@ -20,6 +20,7 @@
 import java.io.IOException;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.vfs2.FileFilterSelector;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.commons.vfs2.FileSelectInfo;
@@ -61,17 +62,17 @@
     public static void afterClass() throws IOException {
 
         writableFileInfo = null;
-        writableFile.delete();
+        delete(writableFile);
         writableFile = null;
 
         readOnlyFileInfo = null;
-        readOnlyFile.delete();
+        delete(readOnlyFile);
         readOnlyFile = null;
 
         notExistingFileInfo = null;
         notExistingFile = null;
 
-        zipFileObj.close();
+        IOUtils.close(zipFileObj);
         FileUtils.deleteQuietly(zipFile);
         zipFile = null;
 
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanWriteFileFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanWriteFileFilterTest.java
index 46bda39..deff89d 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanWriteFileFilterTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/CanWriteFileFilterTest.java
@@ -20,6 +20,7 @@
 import java.io.IOException;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.vfs2.FileFilterSelector;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.commons.vfs2.FileSelectInfo;
@@ -61,17 +62,17 @@
     public static void afterClass() throws IOException {
 
         writableFileInfo = null;
-        writableFile.delete();
+        delete(writableFile);
         writableFile = null;
 
         readOnlyFileInfo = null;
-        readOnlyFile.delete();
+        delete(readOnlyFile);
         readOnlyFile = null;
 
         notExistingFileInfo = null;
         notExistingFile = null;
 
-        zipFileObj.close();
+        IOUtils.close(zipFileObj);
         FileUtils.deleteQuietly(zipFile);
         zipFile = null;
 
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/DirectoryAndFileFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/DirectoryAndFileFilterTest.java
index 8c6a80f..7ea4625 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/DirectoryAndFileFilterTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/DirectoryAndFileFilterTest.java
@@ -20,6 +20,7 @@
 import java.io.IOException;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.vfs2.FileFilter;
 import org.apache.commons.vfs2.FileFilterSelector;
 import org.apache.commons.vfs2.FileObject;
@@ -71,7 +72,7 @@
         notExistingFileInfo = null;
         notExistingFile = null;
 
-        zipFileObj.close();
+        IOUtils.close(zipFileObj);
         FileUtils.deleteQuietly(zipFile);
         zipFile = null;
 
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/EmptyFileFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/EmptyFileFilterTest.java
index 6a6a677..a203d5a 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/EmptyFileFilterTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/EmptyFileFilterTest.java
@@ -20,6 +20,7 @@
 import java.io.IOException;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.vfs2.FileFilter;
 import org.apache.commons.vfs2.FileFilterSelector;
 import org.apache.commons.vfs2.FileObject;
@@ -76,7 +77,7 @@
         notExistingFile = null;
         notExistingFileInfo = null;
 
-        zipFileObj.close();
+        IOUtils.close(zipFileObj);
         FileUtils.deleteQuietly(zipFile);
         zipFile = null;
 
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/HiddenFileFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/HiddenFileFilterTest.java
index 63ec076..cb7a04b 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/HiddenFileFilterTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/HiddenFileFilterTest.java
@@ -20,6 +20,7 @@
 import java.io.IOException;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.vfs2.FileFilter;
 import org.apache.commons.vfs2.FileFilterSelector;
 import org.apache.commons.vfs2.FileObject;
@@ -64,7 +65,7 @@
         notExistingFile = null;
         notExistingFileInfo = null;
 
-        zipFileObj.close();
+        IOUtils.close(zipFileObj);
         FileUtils.deleteQuietly(zipFile);
         zipFile = null;
 
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/SizeFileFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/SizeFileFilterTest.java
index 5803054..d8dfb7e 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/SizeFileFilterTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/SizeFileFilterTest.java
@@ -20,6 +20,7 @@
 import java.io.IOException;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.vfs2.FileFilterSelector;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.commons.vfs2.FileSelectInfo;
@@ -65,7 +66,7 @@
         maxFileInfo = null;
         maxFile = null;
 
-        zipFileObj.close();
+        IOUtils.close(zipFileObj);
         FileUtils.deleteQuietly(zipFile);
         zipFile = null;
 
diff --git a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/SymbolicLinkFileFilterTest.java b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/SymbolicLinkFileFilterTest.java
index 00b0a0a..81abaf9 100644
--- a/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/SymbolicLinkFileFilterTest.java
+++ b/commons-vfs2/src/test/java/org/apache/commons/vfs2/filter/SymbolicLinkFileFilterTest.java
@@ -26,6 +26,7 @@
 import java.nio.file.Files;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.vfs2.FileFilter;
 import org.apache.commons.vfs2.FileFilterSelector;
 import org.apache.commons.vfs2.FileObject;
@@ -80,9 +81,7 @@
         linkFileInfo = null;
         notExistingFile = null;
         notExistingFileInfo = null;
-        if (zipFileObject != null) {
-            zipFileObject.close();
-        }
+        IOUtils.close(zipFileObject);
         if (zipFile != null) {
             FileUtils.deleteQuietly(zipFile);
             zipFile = null;