浏览代码

HDFS-2346. TestHost2NodesMap & TestReplicasMap will fail depending upon execution order of test methods. Contributed by Laxman and Uma Maheswara Rao.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-205@1200199 13f79535-47bb-0310-9956-ffa450edef68
Matthew Foley 13 年之前
父节点
当前提交
eb34b2279e
共有 2 个文件被更改,包括 19 次插入8 次删除
  1. 3 0
      CHANGES.txt
  2. 16 8
      src/test/org/apache/hadoop/hdfs/server/namenode/TestHost2NodesMap.java

+ 3 - 0
CHANGES.txt

@@ -33,6 +33,9 @@ Release 0.20.205.1 - unreleased
 
   BUG FIXES
 
+    HDFS-2346. TestHost2NodesMap & TestReplicasMap will fail depending upon 
+    execution order of test methods. (Laxman and Uma Maheswara Rao via Matt Foley)
+
     MAPREDUCE-3374. src/c++/task-controller/configure is not set executable in 
     the tarball and that prevents task-controller from rebuilding. 
     (Roman Shaposhnik via Matt Foley)

+ 16 - 8
src/test/org/apache/hadoop/hdfs/server/namenode/TestHost2NodesMap.java

@@ -18,29 +18,34 @@
 
 package org.apache.hadoop.hdfs.server.namenode;
 
-import org.apache.hadoop.hdfs.protocol.DatanodeID;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
-import junit.framework.TestCase;
+import org.apache.hadoop.hdfs.protocol.DatanodeID;
+import org.junit.Before;
+import org.junit.Test;
 
-public class TestHost2NodesMap extends TestCase {
-  static private Host2NodesMap map = new Host2NodesMap();
-  private final static DatanodeDescriptor dataNodes[] = new DatanodeDescriptor[] {
+public class TestHost2NodesMap {
+    private Host2NodesMap map = new Host2NodesMap();
+    private final DatanodeDescriptor dataNodes[] = new DatanodeDescriptor[] {
     new DatanodeDescriptor(new DatanodeID("h1:5020"), "/d1/r1"),
     new DatanodeDescriptor(new DatanodeID("h2:5020"), "/d1/r1"),
     new DatanodeDescriptor(new DatanodeID("h3:5020"), "/d1/r2"),
     new DatanodeDescriptor(new DatanodeID("h3:5030"), "/d1/r2"),
   };
-  private final static DatanodeDescriptor NULL_NODE = null; 
-  private final static DatanodeDescriptor NODE = 
+  private final DatanodeDescriptor NULL_NODE = null; 
+  private final DatanodeDescriptor NODE = 
     new DatanodeDescriptor(new DatanodeID("h3:5040"), "/d1/r4");
 
-  static {
+  @Before
+  public void setup() {
     for(DatanodeDescriptor node:dataNodes) {
       map.add(node);
     }
     map.add(NULL_NODE);
   }
   
+  @Test
   public void testContains() throws Exception {
     for(int i=0; i<dataNodes.length; i++) {
       assertTrue(map.contains(dataNodes[i]));
@@ -49,6 +54,7 @@ public class TestHost2NodesMap extends TestCase {
     assertFalse(map.contains(NODE));
   }
 
+  @Test
   public void testGetDatanodeByHost() throws Exception {
     assertTrue(map.getDatanodeByHost("h1")==dataNodes[0]);
     assertTrue(map.getDatanodeByHost("h2")==dataNodes[1]);
@@ -57,6 +63,7 @@ public class TestHost2NodesMap extends TestCase {
     assertTrue(null==map.getDatanodeByHost("h4"));
   }
 
+  @Test
   public void testGetDatanodeByName() throws Exception {
     assertTrue(map.getDatanodeByName("h1:5020")==dataNodes[0]);
     assertTrue(map.getDatanodeByName("h1:5030")==null);
@@ -69,6 +76,7 @@ public class TestHost2NodesMap extends TestCase {
     assertTrue(map.getDatanodeByName(null)==null);
   }
 
+  @Test
   public void testRemove() throws Exception {
     assertFalse(map.remove(NODE));