From 009a5455b81a26e5c901bb89c3e38f1917fe37ee Mon Sep 17 00:00:00 2001 From: irongut Date: Sat, 19 Feb 2022 01:35:28 +0000 Subject: [PATCH] use glob pattern matching #31 --- src/CodeCoverageSummary/Program.cs | 15 +++++++++++---- .../Properties/launchSettings.json | 2 +- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/CodeCoverageSummary/Program.cs b/src/CodeCoverageSummary/Program.cs index 3473a89..1e922db 100644 --- a/src/CodeCoverageSummary/Program.cs +++ b/src/CodeCoverageSummary/Program.cs @@ -1,5 +1,7 @@ using CommandLine; +using Microsoft.Extensions.FileSystemGlobbing; using System; +using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; @@ -19,8 +21,13 @@ namespace CodeCoverageSummary { try { + // use glob patterns to match files + Matcher matcher = new(); + matcher.AddIncludePatterns(o.Files.ToArray()); + IEnumerable matchingFiles = matcher.GetResultsInFullPath("."); + // check files exist - foreach (var file in o.Files) + foreach (var file in matchingFiles) { if (!File.Exists(file)) { @@ -31,13 +38,13 @@ namespace CodeCoverageSummary // parse code coverage file CodeSummary summary = new(); - foreach (var file in o.Files) + foreach (var file in matchingFiles) { Console.WriteLine($"Code Coverage File: {file}"); summary = ParseTestResults(file, summary); } - summary.LineRate /= o.Files.Count(); - summary.BranchRate /= o.Files.Count(); + summary.LineRate /= matchingFiles.Count(); + summary.BranchRate /= matchingFiles.Count(); if (summary.Packages.Count == 0) { diff --git a/src/CodeCoverageSummary/Properties/launchSettings.json b/src/CodeCoverageSummary/Properties/launchSettings.json index 68bac46..25a681a 100644 --- a/src/CodeCoverageSummary/Properties/launchSettings.json +++ b/src/CodeCoverageSummary/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "CodeCoverageSummary": { "commandName": "Project", - "commandLineArgs": "--files ../../../../coverage.cobertura.xml,../../../../coverage.cobertura.xml --format=text --badge true --thresholds=\"85 90\" --fail true" + "commandLineArgs": "--files **/coverage.*.xml --format=text --badge true --thresholds=\"85 90\" --fail true" }, "Docker": { "commandName": "Docker",