Added a test in the xml parser that verifies that the parsing of the xml is correct and that the correct number of failures is reported in the human readable form. fixes: https://github.com/xamarin/xamarin-macios/issues/8214
This commit is contained in:
Родитель
3623d7a72f
Коммит
b371133216
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -308,5 +308,38 @@ namespace Xharness.Tests
|
|||
File.Delete (finalPath);
|
||||
Directory.Delete (logsDir, true);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Issue8214Test ()
|
||||
{
|
||||
string expectedResultLine = "Tests run: 2376 Passed: 2301 Inconclusive: 13 Failed: 1 Ignored: 74";
|
||||
// get the sample that was added to the issue to validate that we do parse the resuls correctly and copy it to a local
|
||||
// path to be parsed
|
||||
var name = GetType ().Assembly.GetManifestResourceNames ().Where (a => a.EndsWith ("Issue8214.xml", StringComparison.Ordinal)).FirstOrDefault ();
|
||||
var tempPath = Path.GetTempFileName ();
|
||||
var destinationFile = Path.GetTempFileName ();
|
||||
using (var outputStream = new StreamWriter (tempPath))
|
||||
using (var sampleStream = new StreamReader (GetType ().Assembly.GetManifestResourceStream (name))) {
|
||||
string line;
|
||||
while ((line = sampleStream.ReadLine ()) != null)
|
||||
outputStream.WriteLine (line);
|
||||
}
|
||||
var (resultLine, failed) = resultParser.GenerateHumanReadableResults (tempPath, destinationFile, XmlResultJargon.NUnitV3);
|
||||
Assert.IsTrue (failed, "failed");
|
||||
Assert.AreEqual (expectedResultLine, resultLine, "resultLine");
|
||||
// verify that the destination does contain the result line
|
||||
string resultLineInDestinationFile = null;
|
||||
using (var resultReader = new StreamReader (destinationFile)) {
|
||||
string line;
|
||||
while ((line = resultReader.ReadLine ()) != null) {
|
||||
if (line.Contains ("Tests run:")) {
|
||||
resultLineInDestinationFile = line;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Assert.IsNotNull (resultLineInDestinationFile, "result file result line");
|
||||
Assert.AreEqual (expectedResultLine, resultLineInDestinationFile, "content result file result line");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -102,6 +102,7 @@
|
|||
<EmbeddedResource Include="Samples\run-log.txt" />
|
||||
<EmbeddedResource Include="Samples\NUnitV3SampleSuccess.xml" />
|
||||
<EmbeddedResource Include="Samples\NUnitV3SampleFailure.xml" />
|
||||
<EmbeddedResource Include="Samples\Issue8214.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="../DummyTestProcess/DummyTestProcess.csproj">
|
||||
|
|
|
@ -118,6 +118,7 @@ namespace Xharness {
|
|||
}
|
||||
}
|
||||
var resultLine = $"Tests run: {testcasecount} Passed: {passed} Inconclusive: {inconclusive} Failed: {failed} Ignored: {skipped + inconclusive}";
|
||||
writer.WriteLine (resultLine);
|
||||
return (resultLine, failedTestRun);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче