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();
}
}