From 5b2188ca4f43d68b84264a2036db887598e1189e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 12 Jun 2026 06:50:37 +0000 Subject: [PATCH 1/2] Disable test parallelization for console-output tests Co-authored-by: BenjaminMichaelis <22186029+BenjaminMichaelis@users.noreply.github.com> --- ListingManager.Tests/AssemblyInfo.cs | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 ListingManager.Tests/AssemblyInfo.cs diff --git a/ListingManager.Tests/AssemblyInfo.cs b/ListingManager.Tests/AssemblyInfo.cs new file mode 100644 index 0000000..2171200 --- /dev/null +++ b/ListingManager.Tests/AssemblyInfo.cs @@ -0,0 +1,3 @@ +using Xunit; + +[assembly: CollectionBehavior(DisableTestParallelization = true)] From 14d96f9fcdfe717ea9b6430e9f6e7aa21358ccf8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 13 Jun 2026 06:13:00 +0000 Subject: [PATCH 2/2] Make console scan test safe for parallel runs Co-authored-by: BenjaminMichaelis <22186029+BenjaminMichaelis@users.noreply.github.com> --- ListingManager.Tests/AssemblyInfo.cs | 3 -- .../ConsoleOutputCollection.cs | 9 ++++++ ListingManager.Tests/ScanManagerTests.cs | 30 +++++++++++++++---- 3 files changed, 34 insertions(+), 8 deletions(-) delete mode 100644 ListingManager.Tests/AssemblyInfo.cs create mode 100644 ListingManager.Tests/ConsoleOutputCollection.cs diff --git a/ListingManager.Tests/AssemblyInfo.cs b/ListingManager.Tests/AssemblyInfo.cs deleted file mode 100644 index 2171200..0000000 --- a/ListingManager.Tests/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using Xunit; - -[assembly: CollectionBehavior(DisableTestParallelization = true)] diff --git a/ListingManager.Tests/ConsoleOutputCollection.cs b/ListingManager.Tests/ConsoleOutputCollection.cs new file mode 100644 index 0000000..a515282 --- /dev/null +++ b/ListingManager.Tests/ConsoleOutputCollection.cs @@ -0,0 +1,9 @@ +using Xunit; + +namespace EssentialCSharp.ListingManager.Tests; + +[CollectionDefinition(Name, DisableParallelization = true)] +public sealed class ConsoleOutputCollection +{ + public const string Name = "Console output collection"; +} diff --git a/ListingManager.Tests/ScanManagerTests.cs b/ListingManager.Tests/ScanManagerTests.cs index b33b8fd..39a6b85 100644 --- a/ListingManager.Tests/ScanManagerTests.cs +++ b/ListingManager.Tests/ScanManagerTests.cs @@ -1,8 +1,8 @@ -using IntelliTect.TestTools.Console; -using Xunit; +using Xunit; namespace EssentialCSharp.ListingManager.Tests; +[Collection(ConsoleOutputCollection.Name)] public class ScanManagerTests : TempFileTestBase { [Fact] @@ -18,8 +18,11 @@ public void ScanForMissingTests() Path.Join("Chapter02.Tests","Listing02.06.Something.Tests.cs") }; - const string expected = @"Missing test for 1.1 -Missing test for 2.4"; + List expected = new() + { + "Missing test for 1.1", + "Missing test for 2.4" + }; List toWrite = [ @@ -37,6 +40,23 @@ public void ScanForMissingTests() CreateTempDirectory(tempDir, "Chapter02.Tests"); WriteFiles(tempDir, filesToMake, toWrite); - ConsoleAssert.Expect(expected, () => ScanManager.ScanForAllMissingTests(tempDir, false)); + TextWriter originalOut = Console.Out; + using StringWriter output = new(); + try + { + Console.SetOut(output); + ScanManager.ScanForAllMissingTests(tempDir, false); + } + finally + { + Console.SetOut(originalOut); + } + + List actual = output.ToString() + .Split(Environment.NewLine, StringSplitOptions.RemoveEmptyEntries) + .OrderBy(line => line, StringComparer.Ordinal) + .ToList(); + + Assert.Equal(expected.OrderBy(line => line, StringComparer.Ordinal), actual); } }