HBASE-18830 TestCanaryTool does not check Canary monitor's error code

Added assertion checks to make sure that the error code for the
ToolRunner run() method is used.

Testing Done: Checked that TestCanaryTool unit tests fail when there is
an error code in the current Canary run.

Signed-off-by: Andrew Purtell <apurt...@apache.org>


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

Branch: refs/heads/master
Commit: 4b208eb2b653add87ebb679da69ff98777bb74a4
Parents: 176571a
Author: Chinmay Kulkarni <chinmayskulka...@gmail.com>
Authored: Fri Sep 15 17:06:52 2017 -0700
Committer: Andrew Purtell <apurt...@apache.org>
Committed: Mon Sep 25 19:06:36 2017 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/tool/TestCanaryTool.java    | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/4b208eb2/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
index 190d5a9..ae34d1b 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/tool/TestCanaryTool.java
@@ -89,7 +89,7 @@ public class TestCanaryTool {
     Canary.ZookeeperStdOutSink sink = spy(new Canary.ZookeeperStdOutSink());
     Canary canary = new Canary(executor, sink);
     String[] args = { "-t", "10000", "-zookeeper" };
-    ToolRunner.run(testingUtility.getConfiguration(), canary, args);
+    assertEquals(0, ToolRunner.run(testingUtility.getConfiguration(), canary, 
args));
 
     String baseZnode = testingUtility.getConfiguration()
         .get(HConstants.ZOOKEEPER_ZNODE_PARENT, 
HConstants.DEFAULT_ZOOKEEPER_ZNODE_PARENT);
@@ -112,7 +112,7 @@ public class TestCanaryTool {
     Canary.RegionStdOutSink sink = spy(new Canary.RegionStdOutSink());
     Canary canary = new Canary(executor, sink);
     String[] args = { "-writeSniffing", "-t", "10000", name.getMethodName() };
-    ToolRunner.run(testingUtility.getConfiguration(), canary, args);
+    assertEquals(0, ToolRunner.run(testingUtility.getConfiguration(), canary, 
args));
     assertEquals("verify no read error count", 0, 
canary.getReadFailures().size());
     assertEquals("verify no write error count", 0, 
canary.getWriteFailures().size());
     verify(sink, atLeastOnce()).publishReadTiming(isA(ServerName.class), 
isA(HRegionInfo.class),
@@ -142,7 +142,7 @@ public class TestCanaryTool {
     String configuredTimeoutStr = tableNames[0].getNameAsString() + "=" + 
Long.MAX_VALUE + "," +
       tableNames[1].getNameAsString() + "=0";
     String[] args = { "-readTableTimeouts", configuredTimeoutStr, 
name.getMethodName() + "1", name.getMethodName() + "2"};
-    ToolRunner.run(testingUtility.getConfiguration(), canary, args);
+    assertEquals(0, ToolRunner.run(testingUtility.getConfiguration(), canary, 
args));
     verify(sink, 
times(tableNames.length)).initializeAndGetReadLatencyForTable(isA(String.class));
     for (int i=0; i<2; i++) {
       assertNotEquals("verify non-null read latency", null, 
sink.getReadLatencyMap().get(tableNames[i].getNameAsString()));
@@ -170,7 +170,7 @@ public class TestCanaryTool {
     Canary.RegionStdOutSink sink = spy(new Canary.RegionStdOutSink());
     Canary canary = new Canary(executor, sink);
     String[] args = { "-writeSniffing", "-writeTableTimeout", 
String.valueOf(Long.MAX_VALUE)};
-    ToolRunner.run(testingUtility.getConfiguration(), canary, args);
+    assertEquals(0, ToolRunner.run(testingUtility.getConfiguration(), canary, 
args));
     assertNotEquals("verify non-null write latency", null, 
sink.getWriteLatency());
     assertNotEquals("verify non-zero write latency", 0L, 
sink.getWriteLatency());
     verify(mockAppender, times(1)).doAppend(argThat(new 
ArgumentMatcher<LoggingEvent>() {
@@ -225,7 +225,7 @@ public class TestCanaryTool {
     org.apache.hadoop.conf.Configuration conf =
       new 
org.apache.hadoop.conf.Configuration(testingUtility.getConfiguration());
     conf.setBoolean(HConstants.HBASE_CANARY_READ_RAW_SCAN_KEY, true);
-    ToolRunner.run(conf, canary, args);
+    assertEquals(0, ToolRunner.run(conf, canary, args));
     verify(sink, atLeastOnce())
         .publishReadTiming(isA(ServerName.class), isA(HRegionInfo.class),
         isA(ColumnFamilyDescriptor.class), anyLong());
@@ -236,7 +236,7 @@ public class TestCanaryTool {
     ExecutorService executor = new ScheduledThreadPoolExecutor(1);
     Canary canary = new Canary(executor, new Canary.RegionServerStdOutSink());
     String[] args = { "-t", "10000", "-regionserver"};
-    ToolRunner.run(testingUtility.getConfiguration(), canary, args);
+    assertEquals(0, ToolRunner.run(testingUtility.getConfiguration(), canary, 
args));
     assertEquals("verify no read error count", 0, 
canary.getReadFailures().size());
   }
 

Reply via email to