@Test
  public void testSyncTableDoDeletesFalse() throws Exception {
    final TableName sourceTableName = TableName.valueOf(name.getMethodName() + "_source");
    final TableName targetTableName = TableName.valueOf(name.getMethodName() + "_target");
    Path testDir = UTIL1.getDataTestDirOnTestFS(name.getMethodName());

    writeTestData(UTIL1, sourceTableName, UTIL1, targetTableName);
    hashSourceTable(UTIL1, sourceTableName, testDir);
    Counters syncCounters = syncTables(UTIL1.getConfiguration(), sourceTableName, targetTableName,
      testDir, "--doDeletes=false");
    assertTargetDoDeletesFalse(100, UTIL1, sourceTableName, UTIL1, targetTableName);

    assertEquals(60, syncCounters.findCounter(Counter.ROWSWITHDIFFS).getValue());
    assertEquals(10, syncCounters.findCounter(Counter.SOURCEMISSINGROWS).getValue());
    assertEquals(10, syncCounters.findCounter(Counter.TARGETMISSINGROWS).getValue());
    assertEquals(50, syncCounters.findCounter(Counter.SOURCEMISSINGCELLS).getValue());
    assertEquals(50, syncCounters.findCounter(Counter.TARGETMISSINGCELLS).getValue());
    assertEquals(20, syncCounters.findCounter(Counter.DIFFERENTCELLVALUES).getValue());

    UTIL1.deleteTable(sourceTableName);
    UTIL1.deleteTable(targetTableName);
  }
Basic test for the SyncTable M/R tool
hbase-mapreduce/src/test/java/org/apache/hadoop/hbase/mapreduce/TestSyncTable.java