diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalFileSystem.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalFileSystem.java index 6cccb74276e..95ebfec5f6d 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalFileSystem.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestLocalFileSystem.java @@ -37,7 +37,9 @@ import static org.mockito.Mockito.*; import org.junit.After; import org.junit.Assert; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.Timeout; import org.mockito.internal.util.reflection.Whitebox; @@ -53,6 +55,17 @@ public class TestLocalFileSystem { private Configuration conf; private LocalFileSystem fileSys; + /** + * standard test timeout: {@value}. + */ + public static final int DEFAULT_TEST_TIMEOUT = 60 * 1000; + + /** + * Set the timeout for every test. + */ + @Rule + public Timeout testTimeout = new Timeout(DEFAULT_TEST_TIMEOUT); + private void cleanupFile(FileSystem fs, Path name) throws IOException { assertTrue(fs.exists(name)); fs.delete(name, true); @@ -78,7 +91,7 @@ public class TestLocalFileSystem { /** * Test the capability of setting the working directory. */ - @Test(timeout = 10000) + @Test public void testWorkingDirectory() throws IOException { Path origDir = fileSys.getWorkingDirectory(); Path subdir = new Path(TEST_ROOT_DIR, "new"); @@ -132,7 +145,7 @@ public class TestLocalFileSystem { * test Syncable interface on raw local file system * @throws IOException */ - @Test(timeout = 1000) + @Test public void testSyncable() throws IOException { FileSystem fs = fileSys.getRawFileSystem(); Path file = new Path(TEST_ROOT_DIR, "syncable"); @@ -165,7 +178,7 @@ public class TestLocalFileSystem { } } - @Test(timeout = 10000) + @Test public void testCopy() throws IOException { Path src = new Path(TEST_ROOT_DIR, "dingo"); Path dst = new Path(TEST_ROOT_DIR, "yak"); @@ -191,7 +204,7 @@ public class TestLocalFileSystem { } } - @Test(timeout = 1000) + @Test public void testHomeDirectory() throws IOException { Path home = new Path(System.getProperty("user.home")) .makeQualified(fileSys); @@ -199,7 +212,7 @@ public class TestLocalFileSystem { assertEquals(home, fsHome); } - @Test(timeout = 1000) + @Test public void testPathEscapes() throws IOException { Path path = new Path(TEST_ROOT_DIR, "foo%bar"); writeFile(fileSys, path, 1); @@ -208,7 +221,7 @@ public class TestLocalFileSystem { cleanupFile(fileSys, path); } - @Test(timeout = 1000) + @Test public void testCreateFileAndMkdirs() throws IOException { Path test_dir = new Path(TEST_ROOT_DIR, "test_dir"); Path test_file = new Path(test_dir, "file1"); @@ -244,7 +257,7 @@ public class TestLocalFileSystem { } /** Test deleting a file, directory, and non-existent path */ - @Test(timeout = 1000) + @Test public void testBasicDelete() throws IOException { Path dir1 = new Path(TEST_ROOT_DIR, "dir1"); Path file1 = new Path(TEST_ROOT_DIR, "file1"); @@ -259,7 +272,7 @@ public class TestLocalFileSystem { assertTrue("Did not delete non-empty dir", fileSys.delete(dir1)); } - @Test(timeout = 1000) + @Test public void testStatistics() throws Exception { int fileSchemeCount = 0; for (Statistics stats : FileSystem.getAllStatistics()) { @@ -270,7 +283,7 @@ public class TestLocalFileSystem { assertEquals(1, fileSchemeCount); } - @Test(timeout = 1000) + @Test public void testHasFileDescriptor() throws IOException { Path path = new Path(TEST_ROOT_DIR, "test-file"); writeFile(fileSys, path, 1); @@ -280,7 +293,7 @@ public class TestLocalFileSystem { bis.close(); } - @Test(timeout = 1000) + @Test public void testListStatusWithColons() throws IOException { assumeTrue(!Shell.WINDOWS); File colonFile = new File(TEST_ROOT_DIR, "foo:bar"); @@ -306,7 +319,7 @@ public class TestLocalFileSystem { stats[0].getPath().toUri().getPath()); } - @Test(timeout = 10000) + @Test public void testReportChecksumFailure() throws IOException { base.mkdirs(); assertTrue(base.exists() && base.isDirectory()); @@ -386,7 +399,7 @@ public class TestLocalFileSystem { assertEquals(expectedAccTime, status.getAccessTime()); } - @Test(timeout = 1000) + @Test public void testSetTimes() throws Exception { Path path = new Path(TEST_ROOT_DIR, "set-times"); writeFile(fileSys, path, 1);