private void RunJITTest(TestAgent test) { var milestoneCount = (test.MilestoneCount > 0) ? test.MilestoneCount : 1; var iterationCount = (test.IterationCount > 0) ? test.IterationCount : 1; var compatibleIds = (from e in test.TestUnits where !e.Incompatible select e.Id).ToList(); var incompatibleIds = (from e in test.TestUnits where e.Incompatible select e.Id).ToList(); var ctor = test.ContainerType.GetConstructor(Type.EmptyTypes); var container = ctor.Invoke(null); Object testedObject = InvokeTestPreparing(test, container); var description = GetDescription(test, container, testedObject); _resultHandler.AddTest(test, description); for (int m = 0; m < milestoneCount; m++) { var label = GetMilestoneLabel(test, container, testedObject, m); _resultHandler.AddMilestoneData(label); test.ClearMerkers(); for (int i = 0; i < iterationCount; i++) { if (compatibleIds.Count > 0) { test.SetMarkers(compatibleIds); DoJITTest(test, milestoneCount, iterationCount); test.ClearMerkers(); } foreach (var id in incompatibleIds) { test.SetMarker(id); DoJITTest(test, milestoneCount, iterationCount); test.ClearMerkers(); } } } }