@Test
public void testDU() throws IOException, InterruptedException {

  final int writtenSize = 32*1024;   // writing 32K
  // Allow for extra 4K on-disk slack for local file systems
  // that may store additional file metadata (eg ext attrs).
  final int slack = 4*1024;
  File file = new File(DU_DIR, "data");
  createFile(file, writtenSize);
  Thread.sleep(5000); // let the metadata updater catch up
  DU du = new DU(file, 10000, 0, -1);
  du.init();
  long duSize = du.getUsed();
  du.close();
  assertTrue("Invalid on-disk size",
      duSize >= writtenSize &&
      writtenSize <= (duSize + slack));
  //test with 0 interval, will not launch thread
  du = new DU(file, 0, 1, -1);
  du.init();
  duSize = du.getUsed();
  du.close();
  assertTrue("Invalid on-disk size",
      duSize >= writtenSize &&
      writtenSize <= (duSize + slack));
  //test without launching thread
  du = new DU(file, 10000, 0, -1);
  du.init();
  duSize = du.getUsed();
  assertTrue("Invalid on-disk size",
      duSize >= writtenSize &&
      writtenSize <= (duSize + slack));
}