Repository: accumulo
Updated Branches:
  refs/heads/1.6.2-SNAPSHOT ecb5b5472 -> b43abcb5a
  refs/heads/master 72dd8e16c -> ed3377626


ACCUMULO-3175 Move test annotation timeouts into the Rule with scaling factor.

Also include the scaling factor in some sleep/wait statements in tests.


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/b43abcb5
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/b43abcb5
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/b43abcb5

Branch: refs/heads/1.6.2-SNAPSHOT
Commit: b43abcb5ad12c4f33bd5f48af928cb1217e51f72
Parents: ecb5b54
Author: Josh Elser <els...@apache.org>
Authored: Fri Sep 26 12:50:06 2014 -0400
Committer: Josh Elser <els...@apache.org>
Committed: Fri Sep 26 12:50:06 2014 -0400

----------------------------------------------------------------------
 .../apache/accumulo/test/Accumulo3047IT.java    | 11 ++-
 .../test/ConfigurableMajorCompactionIT.java     |  7 +-
 .../accumulo/test/functional/LargeRowIT.java    | 89 ++++++++++++--------
 .../accumulo/test/functional/MergeIT.java       | 11 ++-
 .../accumulo/test/functional/PermissionsIT.java |  9 +-
 5 files changed, 81 insertions(+), 46 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/b43abcb5/test/src/test/java/org/apache/accumulo/test/Accumulo3047IT.java
----------------------------------------------------------------------
diff --git a/test/src/test/java/org/apache/accumulo/test/Accumulo3047IT.java 
b/test/src/test/java/org/apache/accumulo/test/Accumulo3047IT.java
index 74730b2..a333901 100644
--- a/test/src/test/java/org/apache/accumulo/test/Accumulo3047IT.java
+++ b/test/src/test/java/org/apache/accumulo/test/Accumulo3047IT.java
@@ -37,7 +37,12 @@ import org.junit.Assert;
 import org.junit.Test;
 
 public class Accumulo3047IT extends ConfigurableMacIT {
-  
+
+  @Override
+  public int defaultTimeoutSeconds() {
+    return 60;
+  }
+
   @Override
   public void configure(MiniAccumuloConfigImpl cfg, Configuration 
hadoopCoreSite) {
     cfg.setNumTservers(1);
@@ -45,7 +50,7 @@ public class Accumulo3047IT extends ConfigurableMacIT {
     cfg.setProperty(Property.GC_CYCLE_START, "0s");
   }
 
-  @Test(timeout= 60 * 1000)
+  @Test
   public void test() throws Exception {
     // make a table
     String tableName = getUniqueNames(1)[0];
@@ -70,5 +75,5 @@ public class Accumulo3047IT extends ConfigurableMacIT {
       Assert.fail(entry.getKey().getRow().toString());
     }
   }
-  
+
 }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/b43abcb5/test/src/test/java/org/apache/accumulo/test/ConfigurableMajorCompactionIT.java
----------------------------------------------------------------------
diff --git 
a/test/src/test/java/org/apache/accumulo/test/ConfigurableMajorCompactionIT.java
 
b/test/src/test/java/org/apache/accumulo/test/ConfigurableMajorCompactionIT.java
index 8968ea1..899b41b 100644
--- 
a/test/src/test/java/org/apache/accumulo/test/ConfigurableMajorCompactionIT.java
+++ 
b/test/src/test/java/org/apache/accumulo/test/ConfigurableMajorCompactionIT.java
@@ -46,6 +46,11 @@ import org.junit.Test;
 public class ConfigurableMajorCompactionIT extends ConfigurableMacIT {
 
   @Override
+  public int defaultTimeoutSeconds() {
+    return 30;
+  }
+
+  @Override
   public void configure(MiniAccumuloConfigImpl cfg, Configuration 
hadoopCoreSite) {
     Map<String,String> siteConfig = new HashMap<String,String>();
     siteConfig.put(Property.TSERV_MAJC_DELAY.getKey(), "1s");
@@ -73,7 +78,7 @@ public class ConfigurableMajorCompactionIT extends 
ConfigurableMacIT {
     }
   }
 
-  @Test(timeout = 30 * 1000)
+  @Test
   public void test() throws Exception {
     Connector conn = getConnector();
     String tableName = "test";

http://git-wip-us.apache.org/repos/asf/accumulo/blob/b43abcb5/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java
----------------------------------------------------------------------
diff --git 
a/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java 
b/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java
index cf85ea9..32f8539 100644
--- a/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java
+++ b/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java
@@ -40,10 +40,12 @@ import org.apache.accumulo.test.TestIngest;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.io.Text;
 import org.apache.log4j.Logger;
+import org.junit.Assert;
+import org.junit.Before;
 import org.junit.Test;
 
 public class LargeRowIT extends ConfigurableMacIT {
-  
+
   @Override
   public void configure(MiniAccumuloConfigImpl cfg, Configuration 
hadoopCoreSite) {
     cfg.setMemory(ServerType.TABLET_SERVER, 
cfg.getMemory(ServerType.TABLET_SERVER) * 2, MemoryUnit.BYTE);
@@ -62,7 +64,20 @@ public class LargeRowIT extends ConfigurableMacIT {
   private static final int ROW_SIZE = 1 << 17;
   private static final int NUM_PRE_SPLITS = 9;
   private static final int SPLIT_THRESH = ROW_SIZE * NUM_ROWS / NUM_PRE_SPLITS;
-  
+
+  private int timeoutFactor = 1;
+
+  @Before
+  public void setup() {
+    try {
+      timeoutFactor = Integer.parseInt(System.getProperty("timeout.factor"));
+    } catch (NumberFormatException e) {
+      log.warn("Could not parse property value for 'timeout.factor' as 
integer: " + System.getProperty("timeout.factor"));
+    }
+
+    Assert.assertTrue("Timeout factor must be greater than or equal to 1", 
timeoutFactor >= 1);
+  }
+
   @Test
   public void run() throws Exception {
     Random r = new Random();
@@ -81,82 +96,82 @@ public class LargeRowIT extends ConfigurableMacIT {
     test1(c);
     test2(c);
   }
-  
+
   private void test1(Connector c) throws Exception {
-    
+
     basicTest(c, REG_TABLE_NAME, 0);
-    
+
     c.tableOperations().setProperty(REG_TABLE_NAME, 
Property.TABLE_SPLIT_THRESHOLD.getKey(), "" + SPLIT_THRESH);
-    
-    UtilWaitThread.sleep(12000);
+
+    UtilWaitThread.sleep(timeoutFactor * 12000);
     Logger.getLogger(LargeRowIT.class).warn("checking splits");
     FunctionalTestUtils.checkSplits(c, REG_TABLE_NAME, NUM_PRE_SPLITS / 2, 
NUM_PRE_SPLITS * 4);
-    
+
     verify(c, REG_TABLE_NAME);
   }
-  
+
   private void test2(Connector c) throws Exception {
     basicTest(c, PRE_SPLIT_TABLE_NAME, NUM_PRE_SPLITS);
   }
-  
+
   private void basicTest(Connector c, String table, int expectedSplits) throws 
Exception {
     BatchWriter bw = c.createBatchWriter(table, new BatchWriterConfig());
-    
+
     Random r = new Random();
     byte rowData[] = new byte[ROW_SIZE];
-    
+
     r.setSeed(SEED);
-    
+
     for (int i = 0; i < NUM_ROWS; i++) {
-      
+
       r.nextBytes(rowData);
       TestIngest.toPrintableChars(rowData);
-      
+
       Mutation mut = new Mutation(new Text(rowData));
       mut.put(new Text(""), new Text(""), new 
Value(Integer.toString(i).getBytes(Constants.UTF8)));
       bw.addMutation(mut);
     }
-    
+
     bw.close();
-    
+
     FunctionalTestUtils.checkSplits(c, table, expectedSplits, expectedSplits);
-    
+
     verify(c, table);
-    
+
     FunctionalTestUtils.checkSplits(c, table, expectedSplits, expectedSplits);
-    
+
     c.tableOperations().flush(table, null, null, false);
-    
+
     // verify while table flush is running
     verify(c, table);
-    
+
     // give split time to complete
     c.tableOperations().flush(table, null, null, true);
-    
+
     FunctionalTestUtils.checkSplits(c, table, expectedSplits, expectedSplits);
-    
+
     verify(c, table);
-    
+
     FunctionalTestUtils.checkSplits(c, table, expectedSplits, expectedSplits);
   }
-  
+
   private void verify(Connector c, String table) throws Exception {
     Random r = new Random();
     byte rowData[] = new byte[ROW_SIZE];
-    
+
     r.setSeed(SEED);
-    
+
     Scanner scanner = c.createScanner(table, Authorizations.EMPTY);
-    
+
     for (int i = 0; i < NUM_ROWS; i++) {
-      
+
       r.nextBytes(rowData);
       TestIngest.toPrintableChars(rowData);
-      
+
       scanner.setRange(new Range(new Text(rowData)));
-      
+
       int count = 0;
-      
+
       for (Entry<Key,Value> entry : scanner) {
         if (!entry.getKey().getRow().equals(new Text(rowData))) {
           throw new Exception("verification failed, unexpected row i =" + i);
@@ -166,13 +181,13 @@ public class LargeRowIT extends ConfigurableMacIT {
         }
         count++;
       }
-      
+
       if (count != 1) {
         throw new Exception("verification failed, unexpected count i =" + i + 
" count=" + count);
       }
-      
+
     }
-    
+
   }
-  
+
 }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/b43abcb5/test/src/test/java/org/apache/accumulo/test/functional/MergeIT.java
----------------------------------------------------------------------
diff --git 
a/test/src/test/java/org/apache/accumulo/test/functional/MergeIT.java 
b/test/src/test/java/org/apache/accumulo/test/functional/MergeIT.java
index 62cb141..c264dfe 100644
--- a/test/src/test/java/org/apache/accumulo/test/functional/MergeIT.java
+++ b/test/src/test/java/org/apache/accumulo/test/functional/MergeIT.java
@@ -40,6 +40,11 @@ import org.junit.Test;
 
 public class MergeIT extends SimpleMacIT {
 
+  @Override
+  public int defaultTimeoutSeconds() {
+    return 8 * 60;
+  }
+
   SortedSet<Text> splits(String[] points) {
     SortedSet<Text> result = new TreeSet<Text>();
     for (String point : points)
@@ -47,7 +52,7 @@ public class MergeIT extends SimpleMacIT {
     return result;
   }
 
-  @Test(timeout = 60 * 1000)
+  @Test
   public void merge() throws Exception {
     Connector c = getConnector();
     String tableName = getUniqueNames(1)[0];
@@ -65,7 +70,7 @@ public class MergeIT extends SimpleMacIT {
     assertEquals(8, c.tableOperations().listSplits(tableName).size());
   }
 
-  @Test(timeout = 60 * 1000)
+  @Test
   public void mergeSize() throws Exception {
     Connector c = getConnector();
     String tableName = getUniqueNames(1)[0];
@@ -99,7 +104,7 @@ public class MergeIT extends SimpleMacIT {
     return strings;
   }
 
-  @Test(timeout = 8 * 60 * 1000)
+  @Test
   public void mergeTest() throws Exception {
     int tc = 0;
     Connector c = getConnector();

http://git-wip-us.apache.org/repos/asf/accumulo/blob/b43abcb5/test/src/test/java/org/apache/accumulo/test/functional/PermissionsIT.java
----------------------------------------------------------------------
diff --git 
a/test/src/test/java/org/apache/accumulo/test/functional/PermissionsIT.java 
b/test/src/test/java/org/apache/accumulo/test/functional/PermissionsIT.java
index d1c7190..d51dcbb 100644
--- a/test/src/test/java/org/apache/accumulo/test/functional/PermissionsIT.java
+++ b/test/src/test/java/org/apache/accumulo/test/functional/PermissionsIT.java
@@ -59,7 +59,12 @@ public class PermissionsIT extends SimpleMacIT {
     return "user_" + userId.getAndIncrement();
   }
 
-  @Test(timeout = 60 * 1000)
+  @Override
+  public int defaultTimeoutSeconds() {
+    return 60;
+  }
+
+  @Test
   public void systemPermissionsTest() throws Exception {
     String testUser = makeUserName();
     PasswordToken testPasswd = new PasswordToken("test_password");
@@ -376,7 +381,7 @@ public class PermissionsIT extends SimpleMacIT {
         throw new IllegalStateException(user + " SHOULD NOT have system 
permission " + p);
   }
 
-  @Test(timeout = 30 * 1000)
+  @Test
   public void tablePermissionTest() throws Exception {
     // create the test user
     String testUser = makeUserName();

Reply via email to