/// <summary> /// Publish final results. If not yet ready, will keep waiting around /// as a work item until it is done. /// </summary> private void PublishFinalResults() { if (TestService != null && TestService.BusyServiceReferenceCounter > 0) { if (_harnessTasks == null) { _harnessTasks = new CompositeWorkItem(); } _harnessTasks.Enqueue(new CallbackWorkItem(() => { })); _harnessTasks.Enqueue(new CallbackWorkItem(PublishFinalResults)); if (RunDispatcher == null) { RunDispatcher = RunDispatcher.Create(RunNextStep, Dispatcher); RunDispatcher.Run(); } } else { _harnessTasks = null; RunDispatcher = null; PublishFinalResult(); if (IsReportingTestServiceConnected()) { SetOverallStatus("Reporting complete..."); } } }
/// <summary> /// Restarts the run dispatcher. /// </summary> public virtual void RestartRunDispatcher() { if (_harnessTasks == null) { CreateHarnessTasks(); } RunDispatcher = RunDispatcher.Create(RunNextStep, Dispatcher); RunDispatcher.Complete += new EventHandler(RunDispatcherComplete); RunDispatcher.Run(); }