public TestResultBuilder(TestContext testContext, IVsTestTestProvider rootTest) { this.testContext = testContext; this.rootTest = rootTest; runningSingleTest = rootTest is VsTestUnitTest; TestResult = UnitTestResult.CreateSuccess(); }
public RunOrDebugJob(TestContext testContext, IVsTestTestProvider rootTest) { TestContext = testContext; TestResultBuilder = new TestResultBuilder(testContext, rootTest); Project = rootTest.Project; TaskSource = TestResultBuilder.TaskSource; }
public async Task <UnitTestResult> RunTest( TestContext testContext, IVsTestTestProvider testProvider) { var result = await VsTestRunAdapter.Instance.RunTests(this, testContext, testProvider); Status = TestStatus.Ready; return(result); }
void CreateTestResultBuilder(IVsTestTestProvider testProvider) { var executionContext = new ExecutionContext((IExecutionHandler)null, null, null); monitor = new TestProgressMonitor(); context = new TestContext(monitor, null, executionContext, DateTime.Now); builder = new TestResultBuilder(context, testProvider); }
public async Task <UnitTestResult> RunTests( UnitTest test, TestContext testContext, IVsTestTestProvider testProvider) { await Start(); try { runJobInProgress = new RunOrDebugJob(testContext, testProvider); testContext.Monitor.CancellationToken.Register(CancelTestRun); var tests = testProvider.GetTests(); SendExtensionList(GetTestAdapters(runJobInProgress.Project).Split(';')); if (testContext.ExecutionContext.ExecutionHandler != null) { if (tests == null) { GetProcessStartInfo(testProvider.Project); } else { GetProcessStartInfo(testProvider.Project, tests); } } else { if (tests == null) { RunTests(testProvider.Project); } else { RunTests(testProvider.Project, tests); } } return(await runJobInProgress.TaskSource.Task); } catch (OperationCanceledException) { return(runJobInProgress.TestResultBuilder.TestResult); } catch (Exception ex) { testContext.Monitor.ReportRuntimeError( GettextCatalog.GetString("Failed to run tests."), ex); if (runJobInProgress.TestResultBuilder != null) { runJobInProgress.TestResultBuilder.CreateFailure(ex); } return(runJobInProgress.TestResultBuilder.TestResult); } }