public void RunTests(IEnumerable <TestCase> allTestCases, IEnumerable <TestCase> testCasesToRun, string baseDir, string userParameters, bool isBeingDebugged, IDebuggedProcessLauncher debuggedLauncher) { DebugUtils.AssertIsNull(userParameters, nameof(userParameters)); try { Stopwatch stopwatch = Stopwatch.StartNew(); string testDirectory = Utils.GetTempDirectory(); userParameters = TestEnvironment.Options.GetUserParameters(SolutionDirectory, testDirectory, ThreadId); string batch = TestEnvironment.Options.GetBatchForTestSetup(SolutionDirectory, testDirectory, ThreadId); batch = batch == "" ? "" : SolutionDirectory + batch; SafeRunBatch(TestSetup, SolutionDirectory, batch, isBeingDebugged); InnerTestRunner.RunTests(allTestCases, testCasesToRun, baseDir, userParameters, isBeingDebugged, debuggedLauncher); batch = TestEnvironment.Options.GetBatchForTestTeardown(SolutionDirectory, testDirectory, ThreadId); batch = batch == "" ? "" : SolutionDirectory + batch; SafeRunBatch(TestTeardown, SolutionDirectory, batch, isBeingDebugged); stopwatch.Stop(); TestEnvironment.DebugInfo($"Thread {ThreadId} took {stopwatch.Elapsed}"); string errorMessage; if (!Utils.DeleteDirectory(testDirectory, out errorMessage)) { TestEnvironment.DebugWarning( "Could not delete test directory '" + testDirectory + "': " + errorMessage); } } catch (Exception e) { TestEnvironment.LogError("Exception while running tests: " + e); } }
public void Cancel() { InnerTestRunner.Cancel(); }