private void startTT(JobConf conf) throws IOException, InterruptedException {
   myClock = new FakeClock(); // clock is reset.
   String localdirs = TEST_ROOT_DIR + "/userlogs/local/0," + TEST_ROOT_DIR + "/userlogs/local/1";
   conf.set(JobConf.MAPRED_LOCAL_DIR_PROPERTY, localdirs);
   tt = new TaskTracker();
   tt.setConf(new JobConf(conf));
   LocalDirAllocator localDirAllocator = new LocalDirAllocator("mapred.local.dir");
   tt.setLocalDirAllocator(localDirAllocator);
   LocalStorage localStorage = new LocalStorage(conf.getLocalDirs());
   localStorage.checkLocalDirs();
   tt.setLocalStorage(localStorage);
   localizer =
       new Localizer(FileSystem.get(conf), conf.getStrings(JobConf.MAPRED_LOCAL_DIR_PROPERTY));
   tt.setLocalizer(localizer);
   userLogManager = new UtilsForTests.InLineUserLogManager(conf);
   TaskController taskController = userLogManager.getTaskController();
   taskController.setup(localDirAllocator, localStorage);
   tt.setTaskController(taskController);
   userLogCleaner = userLogManager.getUserLogCleaner();
   userLogCleaner.setClock(myClock);
   tt.setUserLogManager(userLogManager);
   userLogManager.clearOldUserLogs(conf);
 }
 private void jobFinished(JobID jobid, int logRetainHours) {
   JobCompletedEvent jce = new JobCompletedEvent(jobid, myClock.getTime(), logRetainHours);
   userLogManager.addLogEvent(jce);
 }
 private void ttReinited() throws IOException {
   JobConf conf = new JobConf();
   conf.setInt(JobContext.USER_LOG_RETAIN_HOURS, 3);
   userLogManager.clearOldUserLogs(conf);
 }