anchor.diff:    void handleTimeout(BrowserTestingStatus status) {
       // We simply kill the browser and starts up a new one!
       // We could be smarter here, but it does not seems like it is worth it.
  +    if (status.timeout) {
  +      DebugLogger.error(
  +          "Got test timeout for an already restarting browser");
  +      return;
  +    }
       status.timeout = true;
       timedOut.add(status.currentTest.url);
       var id = status.browser.id;
  
positive.code:          browserName == 'DartiumOnAndroid' ) &&
          status.timeSinceRestart.elapsed > RESTART_BROWSER_INTERVAL) {
        var id = status.browser.id;
        status.browser.close().then((_) {
          // We don't want to start a new browser if we are terminating.
          if (underTermination) return;
  
negative.code:   void handleNextTestTimeout(status) {
      DebugLogger.warning(
          "Browser timed out before getting next test. Restarting");
      if (status.timeout) return;
      numBrowserGetTestTimeouts++;
      if (numBrowserGetTestTimeouts >= MAX_NEXT_TEST_TIMEOUTS) {
        DebugLogger.error(
            "Too many browser timeouts before getting next test. Terminating");
        terminate().then((_) => exit(1));
      } else {
        status.timeout = true;
        status.browser.close().then((_) => restartBrowser(status.browser.id));
      }
    }
  