TestRunnerResult CatchExceptions(TestRunnerDelegate func) { try { return(func()); } catch (Exception ex) { logger.ExceptionThrown(wrapper.AssemblyFilename, ex); return(TestRunnerResult.Failed); } }
public bool Run(TestInfo test, TestSuiteResult suite_result, string test_name, EventListener listener, ITestFilter filter, int timeout) { listener = new ProxyListener(listener); TestRunnerDelegate runner = new TestRunnerDelegate(delegate { return(server.Run(test_name, listener, filter)); }); IAsyncResult ar = runner.BeginInvoke(test_name, null, filter, null, null); if (!ar.AsyncWaitHandle.WaitOne(timeout) || !ar.IsCompleted) { TestCaseResult error = new TestCaseResult(test); string msg = String.Format("Timeout after {0} ms", timeout); error.Failure(msg, null, FailureSite.Parent); suite_result.AddResult(error); return(false); } try { TestResult result = runner.EndInvoke(ar); if (result != null) { suite_result.AddResult(result); return(true); } TestCaseResult error = new TestCaseResult(test); error.Failure("Unknown error", null, FailureSite.Parent); suite_result.AddResult(error); return(false); } catch (Exception ex) { TestCaseResult error = new TestCaseResult(test); string msg = String.Format("Unknown exception: {0}", ex); error.Failure(msg, null, FailureSite.Parent); suite_result.AddResult(error); return(false); } }
TestRunnerResult PreserveWorkingDirectoryAndCatchExceptions(TestRunnerDelegate func) { string workingDirectory = Directory.GetCurrentDirectory(); try { return func(); } catch (Exception ex) { logger.ExceptionThrown(wrapper.AssemblyFilename, ex); return TestRunnerResult.Failed; } finally { Directory.SetCurrentDirectory(workingDirectory); } }
public bool Run(TestInfo test, TestSuiteResult suite_result, string test_name, EventListener listener, ITestFilter filter, int timeout) { listener = new ProxyListener (listener); TestRunnerDelegate runner = new TestRunnerDelegate (delegate { return server.Run (test_name, listener, filter); }); IAsyncResult ar = runner.BeginInvoke (test_name, null, filter, null, null); if (!ar.AsyncWaitHandle.WaitOne (timeout) || !ar.IsCompleted) { TestCaseResult error = new TestCaseResult (test); string msg = String.Format ("Timeout after {0} ms", timeout); error.Failure (msg, null, FailureSite.Parent); suite_result.AddResult (error); return false; } try { TestResult result = runner.EndInvoke (ar); if (result != null) { suite_result.AddResult (result); return true; } TestCaseResult error = new TestCaseResult (test); error.Failure ("Unknown error", null, FailureSite.Parent); suite_result.AddResult (error); return false; } catch (Exception ex) { TestCaseResult error = new TestCaseResult (test); string msg = String.Format ("Unknown exception: {0}", ex); error.Failure (msg, null, FailureSite.Parent); suite_result.AddResult (error); return false; } }
TestRunnerResult CatchExceptions(TestRunnerDelegate func) { try { return func(); } catch (Exception ex) { logger.ExceptionThrown(wrapper.AssemblyFilename, ex); return TestRunnerResult.Failed; } }