Skip to content

Commit a43d2fa

Browse files
Replace static TemporaryFolders with instances ones, so that tests are truly independent.
1 parent 68374b2 commit a43d2fa

9 files changed

Lines changed: 50 additions & 172 deletions

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

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@
2525
import java.util.ArrayList;
2626
import java.util.List;
2727

28-
import org.junit.After;
2928
import org.junit.Before;
30-
import org.junit.ClassRule;
29+
import org.junit.Rule;
3130
import org.junit.Test;
3231
import org.junit.rules.TemporaryFolder;
3332

@@ -37,35 +36,14 @@
3736
*/
3837
public class FileUtilsCleanDirectoryTestCase {
3938

40-
@ClassRule
41-
public static TemporaryFolder temporaryFolder = new TemporaryFolder();
39+
@Rule
40+
public TemporaryFolder temporaryFolder = new TemporaryFolder();
4241

43-
private static File getTestDirectory() {
44-
return temporaryFolder.getRoot();
45-
}
46-
47-
final File top = getLocalTestDirectory();
48-
49-
private File getLocalTestDirectory() {
50-
return new File(getTestDirectory(), "list-files");
51-
}
42+
private File top;
5243

53-
/**
54-
* @see junit.framework.TestCase#setUp()
55-
*/
5644
@Before
5745
public void setUp() throws Exception {
58-
top.mkdirs();
59-
}
60-
61-
/**
62-
* @see junit.framework.TestCase#tearDown()
63-
*/
64-
@After
65-
public void tearDown() throws Exception {
66-
chmod(top, 775, true);
67-
FileUtils.deleteDirectory(top);
68-
FileUtils.deleteDirectory(getTestDirectory());
46+
top = temporaryFolder.getRoot();
6947
}
7048

7149
//-----------------------------------------------------------------------

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

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,8 @@
2424
import java.util.ArrayList;
2525
import java.util.List;
2626

27-
import org.junit.After;
2827
import org.junit.Before;
29-
import org.junit.ClassRule;
28+
import org.junit.Rule;
3029
import org.junit.Test;
3130
import org.junit.rules.TemporaryFolder;
3231

@@ -36,23 +35,14 @@
3635
*/
3736
public class FileUtilsCleanSymlinksTestCase {
3837

39-
@ClassRule
40-
public static TemporaryFolder temporaryFolder = new TemporaryFolder();
38+
@Rule
39+
public TemporaryFolder temporaryFolder = new TemporaryFolder();
4140

42-
private static File getTestDirectory() {
43-
return temporaryFolder.getRoot();
44-
}
45-
46-
final File top = getTestDirectory();
41+
private File top;
4742

4843
@Before
4944
public void setUp() throws Exception {
50-
top.mkdirs();
51-
}
52-
53-
@After
54-
public void tearDown() throws Exception {
55-
FileUtils.deleteDirectory(top);
45+
top = temporaryFolder.getRoot();
5646
}
5747

5848
@Test

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

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,8 @@
2323
import java.io.File;
2424
import java.io.IOException;
2525

26-
import org.junit.After;
2726
import org.junit.Before;
28-
import org.junit.ClassRule;
27+
import org.junit.Rule;
2928
import org.junit.Test;
3029
import org.junit.rules.TemporaryFolder;
3130

@@ -34,16 +33,11 @@
3433
*
3534
* @see FileUtils#directoryContains(File, File)
3635
* @since 2.2
37-
* @version $Id$
3836
*/
3937
public class FileUtilsDirectoryContainsTestCase {
4038

41-
@ClassRule
42-
public static TemporaryFolder temporaryFolder = new TemporaryFolder();
43-
44-
private static File getTestDirectory() {
45-
return temporaryFolder.getRoot();
46-
}
39+
@Rule
40+
public TemporaryFolder temporaryFolder = new TemporaryFolder();
4741

4842
private File directory1;
4943
private File directory2;
@@ -53,12 +47,12 @@ private static File getTestDirectory() {
5347
private File file2;
5448
private File file2ByRelativeDirectory1;
5549
private File file3;
56-
final File top = getTestDirectory();
50+
private File top;
5751

5852
@SuppressWarnings("ResultOfMethodCallIgnored")
5953
@Before
6054
public void setUp() throws Exception {
61-
top.mkdirs();
55+
top = temporaryFolder.getRoot();
6256

6357
directory1 = new File(top, "directory1");
6458
directory2 = new File(top, "directory2");
@@ -73,19 +67,14 @@ public void setUp() throws Exception {
7367
file3 = new File(top, "file3");
7468

7569
// Tests case with relative path
76-
file1ByRelativeDirectory2 = new File(getTestDirectory(), "directory2/../directory1/file1");
77-
file2ByRelativeDirectory1 = new File(getTestDirectory(), "directory1/../directory2/file2");
70+
file1ByRelativeDirectory2 = new File(top, "directory2/../directory1/file1");
71+
file2ByRelativeDirectory1 = new File(top, "directory1/../directory2/file2");
7872

7973
FileUtils.touch(file1);
8074
FileUtils.touch(file2);
8175
FileUtils.touch(file3);
8276
}
8377

84-
@After
85-
public void tearDown() throws Exception {
86-
FileUtils.deleteDirectory(top);
87-
}
88-
8978
@Test
9079
public void testCanonicalPath() throws IOException {
9180
assertTrue(FileUtils.directoryContains(directory1, file1ByRelativeDirectory2));

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

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@
2626
import java.util.Date;
2727

2828
import org.apache.commons.io.testtools.TestUtils;
29-
import org.junit.After;
3029
import org.junit.Before;
31-
import org.junit.ClassRule;
30+
import org.junit.Rule;
3231
import org.junit.Test;
3332
import org.junit.rules.TemporaryFolder;
3433

@@ -37,29 +36,24 @@
3736
*/
3837
public class FileUtilsFileNewerTestCase {
3938

40-
@ClassRule
41-
public static TemporaryFolder temporaryFolder = new TemporaryFolder();
39+
@Rule
40+
public TemporaryFolder temporaryFolder = new TemporaryFolder();
4241

43-
private static File getTestDirectory() {
42+
private File getTestDirectory() {
4443
return temporaryFolder.getRoot();
4544
}
4645

4746
// Test data
4847
private static final int FILE1_SIZE = 1;
4948
private static final int FILE2_SIZE = 1024 * 4 + 1;
5049

51-
private final File m_testFile1;
52-
private final File m_testFile2;
50+
private File m_testFile1;
51+
private File m_testFile2;
5352

54-
public FileUtilsFileNewerTestCase() {
55-
m_testFile1 = new File(getTestDirectory(), "file1-test.txt");
56-
m_testFile2 = new File(getTestDirectory(), "file2-test.txt");
57-
}
58-
59-
/** @see junit.framework.TestCase#setUp() */
6053
@Before
6154
public void setUp() throws Exception {
62-
getTestDirectory().mkdirs();
55+
m_testFile1 = new File(getTestDirectory(), "file1-test.txt");
56+
m_testFile2 = new File(getTestDirectory(), "file2-test.txt");
6357
if (!m_testFile1.getParentFile().exists()) {
6458
throw new IOException("Cannot create file " + m_testFile1
6559
+ " as the parent directory does not exist");
@@ -78,14 +72,6 @@ public void setUp() throws Exception {
7872
}
7973
}
8074

81-
/** @see junit.framework.TestCase#tearDown() */
82-
@After
83-
public void tearDown() throws Exception {
84-
m_testFile1.delete();
85-
m_testFile2.delete();
86-
FileUtils.deleteDirectory(getTestDirectory());
87-
}
88-
8975
/**
9076
* Tests the <code>isFileNewer(File, *)</code> methods which a "normal" file.
9177
*

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

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,8 @@
2828

2929
import org.apache.commons.io.filefilter.FileFilterUtils;
3030
import org.apache.commons.io.filefilter.IOFileFilter;
31-
import org.junit.After;
3231
import org.junit.Before;
33-
import org.junit.ClassRule;
32+
import org.junit.Rule;
3433
import org.junit.Test;
3534
import org.junit.rules.TemporaryFolder;
3635

@@ -39,15 +38,11 @@
3938
*/
4039
public class FileUtilsListFilesTestCase {
4140

42-
@ClassRule
43-
public static TemporaryFolder temporaryFolder = new TemporaryFolder();
44-
45-
private static File getTestDirectory() {
46-
return temporaryFolder.getRoot();
47-
}
41+
@Rule
42+
public TemporaryFolder temporaryFolder = new TemporaryFolder();
4843

4944
private File getLocalTestDirectory() {
50-
return new File(getTestDirectory(), "list-files");
45+
return temporaryFolder.getRoot();
5146
}
5247

5348
/**
@@ -57,10 +52,6 @@ private File getLocalTestDirectory() {
5752
@Before
5853
public void setUp() throws Exception {
5954
File dir = getLocalTestDirectory();
60-
if (dir.exists()) {
61-
FileUtils.deleteDirectory(dir);
62-
}
63-
dir.mkdirs();
6455
File file = new File(dir, "dummy-build.xml");
6556
FileUtils.touch(file);
6657
file = new File(dir, "README");
@@ -89,16 +80,6 @@ public void setUp() throws Exception {
8980
FileUtils.touch(file);
9081
}
9182

92-
/**
93-
* @see junit.framework.TestCase#tearDown()
94-
*/
95-
@After
96-
public void tearDown() throws Exception {
97-
final File dir = getLocalTestDirectory();
98-
FileUtils.deleteDirectory(dir);
99-
FileUtils.deleteDirectory(getTestDirectory());
100-
}
101-
10283
private Collection<String> filesToFilenames(final Collection<File> files) {
10384
final Collection<String> filenames = new ArrayList<>(files.size());
10485
for (final File file : files) {

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

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,10 @@
5151
import org.apache.commons.io.filefilter.NameFileFilter;
5252
import org.apache.commons.io.filefilter.WildcardFileFilter;
5353
import org.apache.commons.io.testtools.TestUtils;
54-
import org.junit.After;
5554
import org.junit.Assert;
5655
import org.junit.Before;
57-
import org.junit.ClassRule;
5856
import org.junit.Ignore;
57+
import org.junit.Rule;
5958
import org.junit.Test;
6059
import org.junit.rules.TemporaryFolder;
6160

@@ -67,10 +66,10 @@
6766
@SuppressWarnings({"deprecation", "ResultOfMethodCallIgnored"}) // unit tests include tests of many deprecated methods
6867
public class FileUtilsTestCase {
6968

70-
@ClassRule
71-
public static TemporaryFolder temporaryFolder = new TemporaryFolder();
69+
@Rule
70+
public TemporaryFolder temporaryFolder = new TemporaryFolder();
7271

73-
private static File getTestDirectory() {
72+
private File getTestDirectory() {
7473
return temporaryFolder.getRoot();
7574
}
7675

@@ -101,23 +100,19 @@ private static File getTestDirectory() {
101100
*/
102101
//private static final int LAST_MODIFIED_DELAY = 600;
103102

104-
private final File testFile1;
105-
private final File testFile2;
103+
private File testFile1;
104+
private File testFile2;
106105

107-
private final int testFile1Size;
108-
private final int testFile2Size;
106+
private int testFile1Size;
107+
private int testFile2Size;
109108

110-
public FileUtilsTestCase() {
109+
@Before
110+
public void setUp() throws Exception {
111111
testFile1 = new File(getTestDirectory(), "file1-test.txt");
112112
testFile2 = new File(getTestDirectory(), "file1a-test.txt");
113113

114114
testFile1Size = (int) testFile1.length();
115115
testFile2Size = (int) testFile2.length();
116-
}
117-
118-
@Before
119-
public void setUp() throws Exception {
120-
getTestDirectory().mkdirs();
121116
if (!testFile1.getParentFile().exists()) {
122117
throw new IOException("Cannot create file " + testFile1
123118
+ " as the parent directory does not exist");
@@ -154,11 +149,6 @@ public void setUp() throws Exception {
154149
}
155150
}
156151

157-
@After
158-
public void tearDown() throws Exception {
159-
FileUtils.deleteDirectory(getTestDirectory());
160-
}
161-
162152
private String getName() {
163153
return this.getClass().getSimpleName();
164154
}

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

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,9 @@
5959
import java.util.List;
6060

6161
import org.apache.commons.io.testtools.TestUtils;
62-
import org.junit.After;
6362
import org.junit.Assert;
6463
import org.junit.Before;
65-
import org.junit.ClassRule;
64+
import org.junit.Rule;
6665
import org.junit.Test;
6766
import org.junit.rules.TemporaryFolder;
6867

@@ -79,10 +78,10 @@
7978
@SuppressWarnings("deprecation") // deliberately testing deprecated code
8079
public class IOUtilsTestCase {
8180

82-
@ClassRule
83-
public static TemporaryFolder temporaryFolder = new TemporaryFolder();
81+
@Rule
82+
public TemporaryFolder temporaryFolder = new TemporaryFolder();
8483

85-
private static File getTestDirectory() {
84+
private File getTestDirectory() {
8685
return temporaryFolder.getRoot();
8786
}
8887

@@ -110,7 +109,6 @@ private void assertEqualContent(final byte[] b0, final byte[] b1) {
110109
@Before
111110
public void setUp() {
112111
try {
113-
getTestDirectory().mkdirs();
114112
m_testFile = new File(getTestDirectory(), "file2-test.txt");
115113

116114
if (!m_testFile.getParentFile().exists()) {
@@ -141,17 +139,6 @@ public void setUp() {
141139
}
142140
}
143141

144-
@After
145-
public void tearDown() {
146-
carr = null;
147-
iarr = null;
148-
try {
149-
FileUtils.deleteDirectory(getTestDirectory());
150-
} catch (final IOException e) {
151-
throw new RuntimeException("Could not clear up " + getTestDirectory() + ": " + e);
152-
}
153-
}
154-
155142
@Test public void testCloseQuietly_AllCloseableIOException() {
156143
final Closeable closeable = new Closeable() {
157144
@Override

0 commit comments

Comments
 (0)