/// <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...");
}
}
}