From ef2330271150a5db3a7036bfe7ba0b82831c8343 Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Thu, 18 Nov 2010 16:07:13 +0000
Subject: [PATCH] fix flaky test

SVN: 18798
---
 .../base/tests/AbstractFileSystemTestCase.java | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/base/sourceTest/java/ch/systemsx/cisd/base/tests/AbstractFileSystemTestCase.java b/base/sourceTest/java/ch/systemsx/cisd/base/tests/AbstractFileSystemTestCase.java
index c4f40b0c922..9cc75e198ed 100644
--- a/base/sourceTest/java/ch/systemsx/cisd/base/tests/AbstractFileSystemTestCase.java
+++ b/base/sourceTest/java/ch/systemsx/cisd/base/tests/AbstractFileSystemTestCase.java
@@ -18,6 +18,7 @@ package ch.systemsx.cisd.base.tests;
 
 import java.io.File;
 import java.io.IOException;
+import java.util.Arrays;
 
 import org.apache.commons.io.FileUtils;
 import org.testng.AssertJUnit;
@@ -68,8 +69,13 @@ public abstract class AbstractFileSystemTestCase extends AssertJUnit
     public void setUp() throws IOException
     {
         deleteDirectory(workingDirectory);
-        workingDirectory.mkdir();
-        assertTrue(workingDirectory.isDirectory() && workingDirectory.listFiles().length == 0);
+        workingDirectory.mkdirs();
+        assertEquals(true, workingDirectory.isDirectory());
+        File[] files = workingDirectory.listFiles();
+        if (files != null)
+        {
+            assertEquals("Unexpected files " + Arrays.asList(files), 0, files.length);
+        }
     }
 
     private void deleteDirectory(File dir)
@@ -81,6 +87,14 @@ public abstract class AbstractFileSystemTestCase extends AssertJUnit
         {
             System.err.println("Could not delete the directory " + dir.getPath() + " because: "
                     + e.getMessage());
+            try
+            {
+                FileUtils.deleteDirectory(dir);
+            } catch (IOException e2)
+            {
+                System.err.println("Could not delete the directory " + dir.getPath()
+                        + " in second try because: " + e2.getMessage());
+            }
         }
     }
 
-- 
GitLab