public void TestFinished (ITestResult res)
{
var result = res as TestResult;
AndroidRunner.Results [result.Test.FullName ?? result.Test.Name] = result;
if (result.Test is TestSuite) {
if (!result.IsFailure() && !result.IsSuccess() && !result.IsIgnored())
Writer.WriteLine ("\t[INFO] {0}", result.Message);
var diff = DateTime.UtcNow - time.Pop ();
Writer.WriteLine ("{0} : {1} ms", result.Test.Name, diff.TotalMilliseconds);
} else {
if (result.IsSuccess()) {
Writer.Write ("\t{0} ", !result.IsIgnored() ? "[PASS]" : "[IGNORED]");
} else if (result.IsFailure()) {
Writer.Write ("\t[FAIL] ");
} else {
Writer.Write ("\t[INFO] ");
}
Writer.Write (result.Test.Name);
string message = result.Message;
if (!String.IsNullOrEmpty (message)) {
Writer.Write (" : {0}", message.Replace ("\r\n", "\\r\\n"));
}
Writer.WriteLine ();
string stacktrace = result.StackTrace;
if (!String.IsNullOrEmpty (result.StackTrace)) {
string[] lines = stacktrace.Split (new char [] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
foreach (string line in lines)
Writer.WriteLine ("\t\t{0}", line);
}
}
}