From 1c309913be30e7f5f31d1312b8a0ff45c7c4c481 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 00:42:49 +0000 Subject: [PATCH 1/2] Initial plan From 8dd2229d844112768c1c5f1885675eb65347d04a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 00:54:02 +0000 Subject: [PATCH 2/2] Update self-validation output to use checkmarks and summary counts Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com> --- README.md | 34 +++++++++-------- docs/guide/guide.md | 38 ++++++++++--------- .../SelfValidation/Validate.cs | 19 +++++++++- .../SelfValidation/ValidateAddPackage.cs | 10 ++++- .../SelfValidation/ValidateAddRelationship.cs | 10 ++++- .../SelfValidation/ValidateBasic.cs | 9 ++++- .../SelfValidation/ValidateCopyPackage.cs | 10 ++++- .../SelfValidation/ValidateDiagram.cs | 9 ++++- .../SelfValidation/ValidateFindPackage.cs | 10 ++++- .../SelfValidation/ValidateGetVersion.cs | 10 ++++- .../SelfValidation/ValidateHash.cs | 9 ++++- .../SelfValidation/ValidateNtia.cs | 10 ++++- .../SelfValidation/ValidateQuery.cs | 10 ++++- .../SelfValidation/ValidateRenameId.cs | 10 ++++- .../ValidateRunNuGetWorkflow.cs | 10 ++++- .../SelfValidation/ValidateToMarkdown.cs | 9 ++++- .../SelfValidation/ValidateUpdatePackage.cs | 10 ++++- 17 files changed, 177 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index b4d121b..3cc71e4 100644 --- a/README.md +++ b/README.md @@ -100,22 +100,24 @@ Running self-validation produces a report containing the following information: | DotNet Runtime | | | Time Stamp | | -Tests: - -- SpdxTool_AddPackage: Passed -- SpdxTool_AddRelationship: Passed -- SpdxTool_Validate: Passed -- SpdxTool_CopyPackage: Passed -- SpdxTool_Diagram: Passed -- SpdxTool_FindPackage: Passed -- SpdxTool_GetVersion: Passed -- SpdxTool_Hash: Passed -- SpdxTool_Ntia: Passed -- SpdxTool_Query: Passed -- SpdxTool_RenameId: Passed -- SpdxTool_RunNuGetWorkflow: Passed -- SpdxTool_ToMarkdown: Passed -- SpdxTool_UpdatePackage: Passed +✓ SpdxTool_AddPackage - Passed +✓ SpdxTool_AddRelationship - Passed +✓ SpdxTool_Validate - Passed +✓ SpdxTool_CopyPackage - Passed +✓ SpdxTool_Diagram - Passed +✓ SpdxTool_FindPackage - Passed +✓ SpdxTool_GetVersion - Passed +✓ SpdxTool_Hash - Passed +✓ SpdxTool_Ntia - Passed +✓ SpdxTool_Query - Passed +✓ SpdxTool_RenameId - Passed +✓ SpdxTool_RunNuGetWorkflow - Passed +✓ SpdxTool_ToMarkdown - Passed +✓ SpdxTool_UpdatePackage - Passed + +Total Tests: 14 +Passed: 14 +Failed: 0 Validation Passed ``` diff --git a/docs/guide/guide.md b/docs/guide/guide.md index 984296e..a6dbef9 100644 --- a/docs/guide/guide.md +++ b/docs/guide/guide.md @@ -910,24 +910,26 @@ Example validation report: | Machine Name | BUILD-SERVER | | OS Version | Microsoft Windows NT 10.0.19045.0 | | DotNet Runtime | .NET 8.0.0 | -| Time Stamp | 2024-01-15T10:30:00Z | - -Tests: - -- SpdxTool_AddPackage: Passed -- SpdxTool_AddRelationship: Passed -- SpdxTool_Validate: Passed -- SpdxTool_CopyPackage: Passed -- SpdxTool_Diagram: Passed -- SpdxTool_FindPackage: Passed -- SpdxTool_GetVersion: Passed -- SpdxTool_Hash: Passed -- SpdxTool_Ntia: Passed -- SpdxTool_Query: Passed -- SpdxTool_RenameId: Passed -- SpdxTool_RunNuGetWorkflow: Passed -- SpdxTool_ToMarkdown: Passed -- SpdxTool_UpdatePackage: Passed +| Time Stamp | 2024-01-15 10:30:00Z | + +✓ SpdxTool_AddPackage - Passed +✓ SpdxTool_AddRelationship - Passed +✓ SpdxTool_Validate - Passed +✓ SpdxTool_CopyPackage - Passed +✓ SpdxTool_Diagram - Passed +✓ SpdxTool_FindPackage - Passed +✓ SpdxTool_GetVersion - Passed +✓ SpdxTool_Hash - Passed +✓ SpdxTool_Ntia - Passed +✓ SpdxTool_Query - Passed +✓ SpdxTool_RenameId - Passed +✓ SpdxTool_RunNuGetWorkflow - Passed +✓ SpdxTool_ToMarkdown - Passed +✓ SpdxTool_UpdatePackage - Passed + +Total Tests: 14 +Passed: 14 +Failed: 0 Validation Passed ``` diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/Validate.cs b/src/DemaConsulting.SpdxTool/SelfValidation/Validate.cs index 5c61b15..5cedd15 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/Validate.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/Validate.cs @@ -19,6 +19,7 @@ // SOFTWARE. using System.Runtime.InteropServices; +using DemaConsulting.TestResults; using DemaConsulting.TestResults.IO; namespace DemaConsulting.SpdxTool.SelfValidation; @@ -47,8 +48,6 @@ public static void Run(Context context) | DotNet Runtime | {Environment.Version,-50} | | Time Stamp | {DateTime.UtcNow,-50:u} | - Tests: - """); var results = new TestResults.TestResults @@ -72,6 +71,22 @@ public static void Run(Context context) ValidateToMarkdown.Run(context, results); ValidateUpdatePackage.Run(context, results); + // Calculate and print summary counts + var totalTests = results.Results.Count; + var passedTests = results.Results.Count(t => t.Outcome == TestOutcome.Passed); + var failedTests = results.Results.Count(t => t.Outcome == TestOutcome.Failed); + + context.WriteLine($"\nTotal Tests: {totalTests}"); + context.WriteLine($"Passed: {passedTests}"); + if (failedTests > 0) + { + context.WriteError($"Failed: {failedTests}"); + } + else + { + context.WriteLine($"Failed: {failedTests}"); + } + // If all validations succeeded (no errors) then report validation passed if (context.Errors == 0) { diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateAddPackage.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateAddPackage.cs index dd229be..23be7b3 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateAddPackage.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateAddPackage.cs @@ -39,7 +39,15 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result - context.WriteLine($"- SpdxTool_AddPackage: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_AddPackage - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_AddPackage - Failed"); + } + results.Results.Add( new TestResult { diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateAddRelationship.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateAddRelationship.cs index 5ae4b1a..b0e4734 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateAddRelationship.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateAddRelationship.cs @@ -39,7 +39,15 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result - context.WriteLine($"- SpdxTool_AddRelationship: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_AddRelationship - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_AddRelationship - Failed"); + } + results.Results.Add( new TestResult { diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateBasic.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateBasic.cs index c28e43d..e217014 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateBasic.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateBasic.cs @@ -38,7 +38,14 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result to console - context.WriteLine($"- SpdxTool_Validate: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_Validate - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_Validate - Failed"); + } // Add validation result to test results collection results.Results.Add( diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateCopyPackage.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateCopyPackage.cs index 61a6582..e634f5a 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateCopyPackage.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateCopyPackage.cs @@ -39,7 +39,15 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result - context.WriteLine($"- SpdxTool_CopyPackage: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_CopyPackage - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_CopyPackage - Failed"); + } + results.Results.Add( new TestResult { diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateDiagram.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateDiagram.cs index 73ca3c6..df20d9f 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateDiagram.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateDiagram.cs @@ -38,7 +38,14 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result to console - context.WriteLine($"- SpdxTool_Diagram: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_Diagram - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_Diagram - Failed"); + } // Add validation result to test results collection results.Results.Add( diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateFindPackage.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateFindPackage.cs index 4a6ea92..425873b 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateFindPackage.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateFindPackage.cs @@ -37,7 +37,15 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result - context.WriteLine($"- SpdxTool_FindPackage: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_FindPackage - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_FindPackage - Failed"); + } + results.Results.Add( new TestResult { diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateGetVersion.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateGetVersion.cs index 4440673..974acd1 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateGetVersion.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateGetVersion.cs @@ -37,7 +37,15 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result - context.WriteLine($"- SpdxTool_GetVersion: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_GetVersion - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_GetVersion - Failed"); + } + results.Results.Add( new TestResult { diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateHash.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateHash.cs index a50b3e7..e13a46c 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateHash.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateHash.cs @@ -38,7 +38,14 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result to console - context.WriteLine($"- SpdxTool_Hash: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_Hash - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_Hash - Failed"); + } // Add validation result to test results collection results.Results.Add( diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateNtia.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateNtia.cs index 78a7e28..97ab0da 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateNtia.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateNtia.cs @@ -37,7 +37,15 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result - context.WriteLine($"- SpdxTool_Ntia: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_Ntia - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_Ntia - Failed"); + } + results.Results.Add( new TestResult { diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateQuery.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateQuery.cs index 8279756..2ca06e6 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateQuery.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateQuery.cs @@ -45,7 +45,15 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result - context.WriteLine($"- SpdxTool_Query: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_Query - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_Query - Failed"); + } + results.Results.Add( new TestResult { diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateRenameId.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateRenameId.cs index ddcbe8f..85f0205 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateRenameId.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateRenameId.cs @@ -38,7 +38,15 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result - context.WriteLine($"- SpdxTool_RenameId: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_RenameId - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_RenameId - Failed"); + } + results.Results.Add( new TestResult { diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateRunNuGetWorkflow.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateRunNuGetWorkflow.cs index 8b800a0..030389c 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateRunNuGetWorkflow.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateRunNuGetWorkflow.cs @@ -37,7 +37,15 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result - context.WriteLine($"- SpdxTool_RunNuGetWorkflow: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_RunNuGetWorkflow - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_RunNuGetWorkflow - Failed"); + } + results.Results.Add( new TestResult { diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateToMarkdown.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateToMarkdown.cs index 87898d8..bbdac6e 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateToMarkdown.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateToMarkdown.cs @@ -38,7 +38,14 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result to console - context.WriteLine($"- SpdxTool_ToMarkdown: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_ToMarkdown - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_ToMarkdown - Failed"); + } // Add validation result to test results collection results.Results.Add( diff --git a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateUpdatePackage.cs b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateUpdatePackage.cs index 2f3d953..99a15f6 100644 --- a/src/DemaConsulting.SpdxTool/SelfValidation/ValidateUpdatePackage.cs +++ b/src/DemaConsulting.SpdxTool/SelfValidation/ValidateUpdatePackage.cs @@ -38,7 +38,15 @@ public static void Run(Context context, TestResults.TestResults results) var passed = DoValidate(); // Report validation result - context.WriteLine($"- SpdxTool_UpdatePackage: {(passed ? "Passed" : "Failed")}"); + if (passed) + { + context.WriteLine($"✓ SpdxTool_UpdatePackage - Passed"); + } + else + { + context.WriteError($"✗ SpdxTool_UpdatePackage - Failed"); + } + results.Results.Add( new TestResult {