code: function Runner(suite, delay) {
    var self = this;
    this._globals = [];
    this._abort = false;
    this._delay = delay;
    this.suite = suite;
    this.started = false;
    this.total = suite.total();
    this.failures = 0;
    this.on(constants.EVENT_TEST_END, function(test) {
      self.checkGlobals(test);
    });
    this.on(constants.EVENT_HOOK_END, function(hook) {
      self.checkGlobals(hook);
    });
    this._defaultGrep = /.*/;
    this.grep(this._defaultGrep);
    this.globals(this.globalProps().concat(extraGlobals()));
  }
docs: Initialize a `Runner` at the Root {@link Suite}, which represents a hierarchy of {@link Suite|Suites} and {@link Test|Tests}.
  
  @extends external:EventEmitter
  @public
  @class
  @param {Suite} suite Root suite
  @param {boolean} [delay] Whether or not to delay execution of root suite
  until ready.