protected override UnitTestResult OnRun(TestContext testContext) { UnitTestResult tres = new UnitTestResult(); OnBeginTest(testContext); try { foreach (UnitTest t in Tests) { UnitTestResult res; try { res = OnRunChildTest(t, testContext); if (testContext.Monitor.IsCancelRequested) { break; } } catch (Exception ex) { res = UnitTestResult.CreateFailure(ex); } tres.Add(res); } } finally { OnEndTest(testContext); } return(tres); }
void ITestProgressMonitor.EndTest (UnitTest test, UnitTestResult result) { if (test is UnitTestGroup) return; testsRun++; ResultRecord rec = new ResultRecord (); rec.Test = test; rec.Result = result; resultSummary.Add (result); results.Add (rec); ShowTestResult (test, result); UpdateCounters (); double frac; if (testsToRun != 0) frac = ((double)testsRun / (double)testsToRun); else frac = 1; progressBar.Fraction = frac; progressBar.Text = testsRun + " / " + testsToRun; }
UnitTestResult ReportXmlResult (IRemoteEventListener listener, XElement elem, string testPrefix, bool macunitStyle) { UnitTestResult result = new UnitTestResult (); var time = (string)elem.Attribute ("time"); if (time != null) result.Time = TimeSpan.FromSeconds (double.Parse (time, CultureInfo.InvariantCulture)); result.TestDate = DateTime.Now; var reason = elem.Element ("reason"); if (reason != null) result.Message = (string) reason; var failure = elem.Element ("failure"); if (failure != null) { var msg = failure.Element ("message"); if (msg != null) result.Message = (string)msg; var stack = failure.Element ("stack-trace"); if (stack != null) result.StackTrace = (string)stack; } switch ((string)elem.Attribute ("result")) { case "Error": case "Failure": result.Status = ResultStatus.Failure; break; case "Success": result.Status = ResultStatus.Success; break; case "Ignored": result.Status = ResultStatus.Ignored; break; default: result.Status = ResultStatus.Inconclusive; break; } if (elem.Name == "test-suite") { // nunitlite does not emit <test-suite type="Namespace" elements so we need to fake // them by deconstructing the full type name and emitting the suite started events manually var names = new List<string> (); if (!macunitStyle || (string)elem.Attribute ("type") == "Assembly") names.Add ("<root>"); else names.AddRange (elem.Attribute ("name").Value.Split ('.')); for (int i = 0; i < names.Count; i ++) listener.SuiteStarted (testPrefix + string.Join (".", names.Take (i + 1))); var name = (string)elem.Attribute ("type") == "Assembly" ? "<root>" : (string) elem.Attribute ("name"); var cts = elem.Element ("results"); if (cts != null) { foreach (var ct in cts.Elements ()) { var r = ReportXmlResult (listener, ct, name != "<root>" ? testPrefix + name + "." : "", macunitStyle); result.Add (r); } } for (int i = 0; i < names.Count; i ++) listener.SuiteFinished (testPrefix + string.Join (".", names.Take (i + 1)), result); } else { string name = (string)elem.Attribute ("name"); switch (result.Status) { case ResultStatus.Success: result.Passed++; break; case ResultStatus.Failure: result.Failures++; break; case ResultStatus.Ignored: result.Ignored++; break; case ResultStatus.Inconclusive: result.Inconclusive++; break; } listener.TestStarted (name); listener.TestFinished (name, result); } return result; }
UnitTestResult ReportXmlResult(IRemoteEventListener listener, XElement elem, string testPrefix, bool macunitStyle) { UnitTestResult result = new UnitTestResult(); var time = (string)elem.Attribute("time"); if (time != null) { result.Time = TimeSpan.FromSeconds(double.Parse(time, CultureInfo.InvariantCulture)); } result.TestDate = DateTime.Now; var reason = elem.Element("reason"); if (reason != null) { result.Message = (string)reason; } var failure = elem.Element("failure"); if (failure != null) { var msg = failure.Element("message"); if (msg != null) { result.Message = (string)msg; } var stack = failure.Element("stack-trace"); if (stack != null) { result.StackTrace = (string)stack; } } switch ((string)elem.Attribute("result")) { case "Error": case "Failure": result.Status = ResultStatus.Failure; break; case "Success": result.Status = ResultStatus.Success; break; case "Ignored": result.Status = ResultStatus.Ignored; break; default: result.Status = ResultStatus.Inconclusive; break; } if (elem.Name == "test-suite") { // nunitlite does not emit <test-suite type="Namespace" elements so we need to fake // them by deconstructing the full type name and emitting the suite started events manually var names = new List <string> (); if (!macunitStyle || (string)elem.Attribute("type") == "Assembly") { names.Add("<root>"); } else { names.AddRange(elem.Attribute("name").Value.Split('.')); } for (int i = 0; i < names.Count; i++) { listener.SuiteStarted(testPrefix + string.Join(".", names.Take(i + 1))); } var name = (string)elem.Attribute("type") == "Assembly" ? "<root>" : (string)elem.Attribute("name"); var cts = elem.Element("results"); if (cts != null) { foreach (var ct in cts.Elements()) { var r = ReportXmlResult(listener, ct, name != "<root>" ? testPrefix + name + "." : "", macunitStyle); result.Add(r); } } for (int i = 0; i < names.Count; i++) { listener.SuiteFinished(testPrefix + string.Join(".", names.Take(i + 1)), result); } } else { string name = (string)elem.Attribute("name"); switch (result.Status) { case ResultStatus.Success: result.Passed++; break; case ResultStatus.Failure: result.Failures++; break; case ResultStatus.Ignored: result.Ignored++; break; case ResultStatus.Inconclusive: result.Inconclusive++; break; } listener.TestStarted(name); listener.TestFinished(name, result); } return(result); }
UnitTestResult ReportXmlResult(IRemoteEventListener listener, XElement elem, string testPrefix) { UnitTestResult result = new UnitTestResult(); var time = (string)elem.Attribute("time"); if (time != null) { result.Time = TimeSpan.FromSeconds(double.Parse(time, CultureInfo.InvariantCulture)); } result.TestDate = DateTime.Now; var reason = elem.Element("reason"); if (reason != null) { result.Message = (string)reason; } var failure = elem.Element("failure"); if (failure != null) { var msg = failure.Element("message"); if (msg != null) { result.Message = (string)msg; } var stack = failure.Element("stack-trace"); if (stack != null) { result.StackTrace = (string)stack; } } switch ((string)elem.Attribute("result")) { case "Error": case "Failure": result.Status = ResultStatus.Failure; break; case "Success": result.Status = ResultStatus.Success; break; case "Ignored": result.Status = ResultStatus.Ignored; break; default: result.Status = ResultStatus.Inconclusive; break; } if (elem.Name == "test-suite") { var name = (string)elem.Attribute("type") == "Assembly" ? "<root>" : (string)elem.Attribute("name"); listener.SuiteStarted(testPrefix + name); var cts = elem.Element("results"); if (cts != null) { foreach (var ct in cts.Elements()) { var r = ReportXmlResult(listener, ct, name != "<root>" ? testPrefix + name + "." : ""); result.Add(r); } } listener.SuiteFinished(testPrefix + name, result); } else { string name = (string)elem.Attribute("name"); switch (result.Status) { case ResultStatus.Success: result.Passed++; break; case ResultStatus.Failure: result.Failures++; break; case ResultStatus.Ignored: result.Ignored++; break; case ResultStatus.Inconclusive: result.Inconclusive++; break; } listener.TestStarted(name); listener.TestFinished(name, result); } return(result); }
protected override UnitTestResult OnRun (TestContext testContext) { UnitTestResult tres = new UnitTestResult (); OnBeginTest (testContext); try { foreach (UnitTest t in Tests) { if (t.IsExplicit) continue; UnitTestResult res; try { res = OnRunChildTest (t, testContext); if (testContext.Monitor.IsCancelRequested) break; } catch (Exception ex) { res = UnitTestResult.CreateFailure (ex); } tres.Add (res); } } finally { OnEndTest (testContext); } return tres; }
UnitTestResult ReportXmlResult (IRemoteEventListener listener, XElement elem, string testPrefix) { UnitTestResult result = new UnitTestResult (); var time = (string)elem.Attribute ("time"); if (time != null) result.Time = TimeSpan.FromSeconds (double.Parse (time, CultureInfo.InvariantCulture)); result.TestDate = DateTime.Now; var reason = elem.Element ("reason"); if (reason != null) result.Message = (string) reason; var failure = elem.Element ("failure"); if (failure != null) { var msg = failure.Element ("message"); if (msg != null) result.Message = (string)msg; var stack = failure.Element ("stack-trace"); if (stack != null) result.StackTrace = (string)stack; } switch ((string)elem.Attribute ("result")) { case "Error": case "Failure": result.Status = ResultStatus.Failure; break; case "Success": result.Status = ResultStatus.Success; break; case "Ignored": result.Status = ResultStatus.Ignored; break; default: result.Status = ResultStatus.Inconclusive; break; } if (elem.Name == "test-suite") { var name = (string)elem.Attribute ("type") == "Assembly" ? "<root>" : (string) elem.Attribute ("name"); listener.SuiteStarted (testPrefix + name); var cts = elem.Element ("results"); if (cts != null) { foreach (var ct in cts.Elements ()) { var r = ReportXmlResult (listener, ct, name != "<root>" ? testPrefix + name + "." : ""); result.Add (r); } } listener.SuiteFinished (testPrefix + name, result); } else { string name = (string)elem.Attribute ("name"); switch (result.Status) { case ResultStatus.Success: result.Passed++; break; case ResultStatus.Failure: result.Failures++; break; case ResultStatus.Ignored: result.Ignored++; break; case ResultStatus.Inconclusive: result.Inconclusive++; break; } listener.TestStarted (name); listener.TestFinished (name, result); } return result; }