anchor.diff:    except
       on e: Exception do
       begin
  -      tests := fixture.Tests;
         // Log error into each test
  -      for test in tests do
  -      begin
  -        if not ShouldRunThisTest(test) then
  -          System.Continue;
  -
  -        Self.Loggers_BeginTest(threadId, test as ITestInfo);
  -        testResult := ExecuteErrorResult(context, threadId, test, e, FLogMessagesEx);
  -        RecordResult(context, threadId, fixtureResult, testResult);
  -        Self.Loggers_EndTest(threadId, testResult);
  -      end;
  +      InvalidateTestsInFixture(fixture, context, threadId, e, fixtureResult);
         Log(TLogLevel.Error, Format(SFixtureSetupError, [fixture.Name, e.Message]));
         Log(TLogLevel.Error, SSkippingFixture);
       end;
  
positive.code:     function ExecuteTimedOutResult(const context: ITestExecuteContext; const threadId: TThreadID; const test: ITest; const exception: Exception; const aLogMessages: TLogMessageArray) : ITestError;
      function ExecuteErrorResult(const context: ITestExecuteContext; const threadId: TThreadID; const test: ITest; const exception: Exception; const aLogMessages: TLogMessageArray): ITestError;
      function ExecuteIgnoredResult(const context: ITestExecuteContext; const threadId: TThreadID; const test: ITest; const ignoreReason: string): ITestResult;
  
      function CheckMemoryAllocations(const test: ITest; out errorResult: ITestResult; const memoryAllocationProvider: IMemoryLeakMonitor): boolean;
  
      function ExecuteTestTearDown(const context: ITestExecuteContext; const threadId: TThreadID; const fixture: ITestFixture; const test: ITest; out errorResult: ITestResult; const memoryAllocationProvider: IMemoryLeakMonitor): boolean;
      procedure ExecuteTearDownFixtureMethod(const context: ITestExecuteContext; const threadId: TThreadID; const fixture: ITestFixture);
  
      procedure RecordResult(const context: ITestExecuteContext; const threadId: TThreadID; const fixtureResult: IFixtureResult; const testResult: ITestResult);
  
  
negative.code: function TDUnitXTestRunner.GetUseRTTI: Boolean;
  begin
    result := FUseRTTI;
  end;
  
  procedure TDUnitXTestRunner.InvalidateTestsInFixture(const aFixture: ITestFixture; const aContext: ITestExecuteContext; const aThreadId: TThreadID; const aException: Exception; const aFixtureResult: IFixtureResult);
  var
    lTest: ITest;
    lTestResult: ITestResult;
  begin
    for lTest in aFixture.Tests do
    begin
      if not ShouldRunThisTest(lTest) then
        Continue;
  
      Self.Loggers_BeginTest(aThreadId, lTest as ITestInfo);
      lTestResult := ExecuteErrorResult(aContext, aThreadId, lTest, aException, FLogMessagesEx);
      RecordResult(aContext, aThreadId, aFixtureResult, lTestResult);
      Self.Loggers_EndTest(aThreadId, lTestResult);
    end;
  end;
  
  procedure TDUnitXTestRunner.SetFailsOnNoAsserts(const value: boolean);
  