diff --git a/Libraries/Catch2Interface/Reporter/OverallResult.cs b/Libraries/Catch2Interface/Reporter/OverallResult.cs index fba570d..4c4dd5b 100644 --- a/Libraries/Catch2Interface/Reporter/OverallResult.cs +++ b/Libraries/Catch2Interface/Reporter/OverallResult.cs @@ -38,6 +38,7 @@ public class OverallResult public string StdErr { get; private set; } = string.Empty; public string StdOut { get; private set; } = string.Empty; public bool Success { get; private set; } = false; + public bool Skipped { get; private set; } = false; #endregion // Properties @@ -53,6 +54,12 @@ public OverallResult(XmlNode node) Success = Constants.Rgx_True.IsMatch(success); } + var skipped = node.Attributes["skips"]?.Value; + if (skipped != null && skipped == "1") + { + Skipped = true; + } + double duration = 0.0; if (double.TryParse(node.Attributes["durationInSeconds"]?.Value, _style, _culture, out duration)) { diff --git a/Libraries/Catch2Interface/TestResult.cs b/Libraries/Catch2Interface/TestResult.cs index a5b3186..3e51469 100644 --- a/Libraries/Catch2Interface/TestResult.cs +++ b/Libraries/Catch2Interface/TestResult.cs @@ -96,6 +96,10 @@ public TestResult(Reporter.TestCase testcase, Settings settings, bool combined) Duration = _testcase.OverallResult.Duration; Name = _testcase.Name; Outcome = _testcase.OverallResult.Success ? TestOutcomes.Passed : TestOutcomes.Failed; + if(_testcase.OverallResult.Skipped) + { + Outcome = TestOutcomes.Skipped; + } StandardOut = _testcase.OverallResult.StdOut; StandardError = _testcase.OverallResult.StdErr; @@ -420,6 +424,10 @@ void ExtractTestResult(XmlNode nodeGroup) _testcase = testcase; Outcome = _testcase.OverallResult.Success ? TestOutcomes.Passed : TestOutcomes.Failed; + if(_testcase.OverallResult.Skipped) + { + Outcome = TestOutcomes.Skipped; + } Duration = _testcase.OverallResult.Duration; StandardOut = _testcase.OverallResult.StdOut; StandardError = _testcase.OverallResult.StdErr;