@Override
  protected void addOptions() {
    super.addOptions();
    addRequiredOptWithArg("s", SOURCE_CLUSTER_OPT,
      "Cluster ID of the source cluster (e.g. localhost:2181:/hbase)");
    addRequiredOptWithArg("r", DEST_CLUSTER_OPT,
      "Cluster ID of the sink cluster (e.g. localhost:2182:/hbase)");
    addRequiredOptWithArg("d", OUTPUT_DIR_OPT,
      "Temporary directory where to write keys for the test");

    addOptWithArg("nm", NUM_MAPPERS_OPT,
      "Number of mappers (default: " + DEFAULT_NUM_MAPPERS + ")");
    addOptWithArg("nr", NUM_REDUCERS_OPT,
      "Number of reducers (default: " + DEFAULT_NUM_MAPPERS + ")");
    addOptNoArg("nrs", NO_REPLICATION_SETUP_OPT,
      "Don't setup tables or configure replication before starting test");
    addOptWithArg("n", NUM_NODES_OPT,
      "Number of nodes. This should be a multiple of width * wrapMultiplier." + " (default: "
        + DEFAULT_NUM_NODES + ")");
    addOptWithArg("i", ITERATIONS_OPT,
      "Number of iterations to run (default: " + DEFAULT_NUM_ITERATIONS + ")");
    addOptWithArg("t", GENERATE_VERIFY_GAP_OPT,
      "Gap between generate and verify steps in seconds (default: " + DEFAULT_GENERATE_VERIFY_GAP
        + ")");
    addOptWithArg("w", WIDTH_OPT,
      "Width of the linked list chain (default: " + DEFAULT_WIDTH + ")");
    addOptWithArg("wm", WRAP_MULTIPLIER_OPT,
      "How many times to wrap around (default: " + DEFAULT_WRAP_MULTIPLIER + ")");
  }
we are always returning 0 because exceptions are thrown when there is an error in the
verification step.
hbase-it/src/test/java/org/apache/hadoop/hbase/test/IntegrationTestReplication.java