Mono.Debugger.Test.Framework.DebuggerTestHost.Run C# (CSharp) Méthode

Run() public méthode

public Run ( NUnit.Core.TestInfo test, NUnit.Core.TestSuiteResult suite_result, string test_name, EventListener listener, ITestFilter filter, int timeout ) : bool
test NUnit.Core.TestInfo
suite_result NUnit.Core.TestSuiteResult
test_name string
listener EventListener
filter ITestFilter
timeout int
Résultat bool
        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;
            }
        }

Usage Example

Exemple #1
0
        public override TestResult Run(EventListener listener, ITestFilter filter)
        {
            TestSuiteResult suite_result = new TestSuiteResult(new TestInfo(this), TestName.FullName);

            DebuggerTestHost host = DebuggerTestHost.Create();

            if (host == null)
            {
                TestCaseResult error = new TestCaseResult(new TestInfo(this));
                string         msg   = String.Format("Failed to create DebuggerTestHost in {0}", FixtureType.Name);
                error.Failure(msg, null, FailureSite.Parent);
                suite_result.AddResult(error);
                return(suite_result);
            }

            int timeout;

            if (Attribute.Timeout != 0)
            {
                timeout = Attribute.Timeout;
            }
            else
            {
                timeout = DebuggerTestAddIn.DefaultTimeout;
            }

            int repeat = 1;

            if (Attribute.Repeat != 0)
            {
                repeat = Attribute.Repeat;
            }

            try {
                for (int i = 0; i < repeat; i++)
                {
                    if (!host.Run(new TestInfo(this), suite_result, Type.AssemblyQualifiedName, listener, filter, timeout))
                    {
                        break;
                    }
                }

                return(suite_result);
            } finally {
                host.Dispose();
            }
        }