Browse Source

HADOOP-14306. TestLocalFileSystem tests have very low timeouts. Contributed by Eric Badger

(cherry picked from commit cedaf4cab9d5013acd559dcb92d4976823ccdf85)
Jason Lowe 8 years ago
parent
commit
e4af087d92

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