[xharness] Improve a bit how logs are parsed and the results shown. (#1481)
Also find '[FAIL]'s in execution logs (which some mac tests produce) as well.
This commit is contained in:
Родитель
687aa6f25f
Коммит
483e067a3e
|
@ -1194,19 +1194,26 @@ function oninitialload ()
|
||||||
foreach (var log in logs) {
|
foreach (var log in logs) {
|
||||||
log.Flush ();
|
log.Flush ();
|
||||||
writer.WriteLine ("<a href='{0}' type='text/plain'>{1}</a><br />", System.Web.HttpUtility.UrlPathEncode (log.FullPath.Substring (LogDirectory.Length + 1)), log.Description);
|
writer.WriteLine ("<a href='{0}' type='text/plain'>{1}</a><br />", System.Web.HttpUtility.UrlPathEncode (log.FullPath.Substring (LogDirectory.Length + 1)), log.Description);
|
||||||
if (log.Description == "Test log") {
|
if (log.Description == "Test log" || log.Description == "Execution log") {
|
||||||
var summary = string.Empty;
|
var summary = string.Empty;
|
||||||
|
var fails = new List<string> ();
|
||||||
try {
|
try {
|
||||||
using (var reader = log.GetReader ()) {
|
using (var reader = log.GetReader ()) {
|
||||||
while (!reader.EndOfStream) {
|
while (!reader.EndOfStream) {
|
||||||
string line = reader.ReadLine ();
|
string line = reader.ReadLine ().Trim ();
|
||||||
if (line.StartsWith ("Tests run:", StringComparison.Ordinal)) {
|
if (line.StartsWith ("Tests run:", StringComparison.Ordinal)) {
|
||||||
summary = line;
|
summary = line;
|
||||||
} else if (line.Trim ().StartsWith ("[FAIL]", StringComparison.Ordinal)) {
|
} else if (line.StartsWith ("[FAIL]", StringComparison.Ordinal)) {
|
||||||
writer.WriteLine ("<span style='padding-left: 20px;'>{0}</span><br />", line.Trim ());
|
fails.Add (line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (fails.Count > 0) {
|
||||||
|
writer.WriteLine ("<div style='padding-left: 15px;'>");
|
||||||
|
foreach (var fail in fails)
|
||||||
|
writer.WriteLine ("{0} <br />", System.Web.HttpUtility.HtmlEncode (fail));
|
||||||
|
writer.WriteLine ("</div>");
|
||||||
|
}
|
||||||
if (!string.IsNullOrEmpty (summary))
|
if (!string.IsNullOrEmpty (summary))
|
||||||
writer.WriteLine ("<span style='padding-left: 15px;'>{0}</span><br />", summary);
|
writer.WriteLine ("<span style='padding-left: 15px;'>{0}</span><br />", summary);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
@ -1222,8 +1229,12 @@ function oninitialload ()
|
||||||
errors.Add (line);
|
errors.Add (line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach (var error in errors)
|
if (errors.Count > 0) {
|
||||||
writer.WriteLine ("<span style='padding-left: 15\tpx;'>{0}</span> <br />", error);
|
writer.WriteLine ("<div style='padding-left: 15px;'>");
|
||||||
|
foreach (var error in errors)
|
||||||
|
writer.WriteLine ("{0} <br />", System.Web.HttpUtility.HtmlEncode (error));
|
||||||
|
writer.WriteLine ("</div>");
|
||||||
|
}
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
writer.WriteLine ("<span style='padding-left: 15px;'>Could not parse log file: {0}</span><br />", System.Web.HttpUtility.HtmlEncode (ex.Message));
|
writer.WriteLine ("<span style='padding-left: 15px;'>Could not parse log file: {0}</span><br />", System.Web.HttpUtility.HtmlEncode (ex.Message));
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче