From 39fd03ecbf2d21ce23c15871d57e84cdb23305fe Mon Sep 17 00:00:00 2001 From: Charlie Poole Date: Wed, 12 Mar 2025 23:58:19 -0700 Subject: [PATCH] Enable continued use of binaryformatter under .net 9.0 and add a package test --- GitVersion.yml | 2 +- build.cake | 5 ++- choco/nunit-console-runner.nuspec | 1 + nuget/runners/nunit.console-runner.nuspec | 1 + package-tests.cake | 42 +++++++++++-------- .../nunit.engine.core.tests.csproj | 2 +- .../nunit.engine.core.csproj | 8 +++- .../mock-assembly-x86.csproj | 2 +- .../mock-assembly/mock-assembly.csproj | 2 +- 9 files changed, 40 insertions(+), 25 deletions(-) diff --git a/GitVersion.yml b/GitVersion.yml index e4a74f1aa..acdf7df63 100644 --- a/GitVersion.yml +++ b/GitVersion.yml @@ -1,4 +1,4 @@ -next-version: 3.19.0 +next-version: 3.20.0 mode: ContinuousDelivery legacy-semver-padding: 5 build-metadata-padding: 5 diff --git a/build.cake b/build.cake index b27eca365..70695513f 100644 --- a/build.cake +++ b/build.cake @@ -65,7 +65,7 @@ BuildSettings.Packages.AddRange(new PackageDefinition[] { HasDirectory("tools/agents/net462").WithFiles(AGENT_FILES), HasDirectory("tools/agents/net6.0").WithFiles(AGENT_FILES_NETCORE), HasDirectory("tools/agents/net8.0").WithFiles(AGENT_FILES_NETCORE), - HasDirectory("tools/agents/net9.0").WithFiles(AGENT_FILES_NETCORE) + HasDirectory("tools/agents/net9.0").WithFiles(AGENT_FILES_NETCORE).WithFile("System.Runtime.Serialization.Formatters.dll") }, symbols: new PackageCheck[] { HasDirectory("tools").WithFiles(ENGINE_PDB_FILES).AndFile("nunit3-console.pdb"), @@ -125,7 +125,8 @@ BuildSettings.Packages.AddRange(new PackageDefinition[] { HasDirectory("bin/agents/net462").WithFiles(AGENT_FILES).AndFiles(AGENT_PDB_FILES), HasDirectory("bin/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE), HasDirectory("bin/agents/net8.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE), - HasDirectory("bin/agents/net9.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE), + HasDirectory("bin/agents/net9.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE) + .AndFile("System.Runtime.Serialization.Formatters.dll") }, testRunner: new ConsoleRunnerSelfTester(BuildSettings.ZipTestDirectory + $"NUnit.Console.{BuildSettings.PackageVersion}/bin/net462/nunit3-console.exe"), diff --git a/choco/nunit-console-runner.nuspec b/choco/nunit-console-runner.nuspec index 0f2f8a30d..dab777ccb 100644 --- a/choco/nunit-console-runner.nuspec +++ b/choco/nunit-console-runner.nuspec @@ -85,6 +85,7 @@ + diff --git a/nuget/runners/nunit.console-runner.nuspec b/nuget/runners/nunit.console-runner.nuspec index 7e637f6af..85772b506 100644 --- a/nuget/runners/nunit.console-runner.nuspec +++ b/nuget/runners/nunit.console-runner.nuspec @@ -78,6 +78,7 @@ + diff --git a/package-tests.cake b/package-tests.cake index 7a1c97643..be6c014fb 100644 --- a/package-tests.cake +++ b/package-tests.cake @@ -46,6 +46,13 @@ public static class PackageTests ExpectedResult=new MockAssemblyExpectedResult("net-4.6.2") }); + AllLists.Add(new PackageTest(1, "Net90Test") + { + Description = "Run mock-assembly.dll targeting .NET 9.0", + Arguments = "testdata/net9.0/mock-assembly.dll", + ExpectedResult = new MockAssemblyExpectedResult("netcore-9.0") + }); + AllLists.Add(new PackageTest(1, "Net80Test") { Description = "Run mock-assembly.dll targeting .NET 8.0", @@ -230,14 +237,14 @@ public static class PackageTests AllLists.Add(new PackageTest(1, "Net60WPFTest") { Description = "Run test using WPF targeting .NET 6.0", - Arguments = "testdata/net6.0-windows/WpfTest.dll --trace=Debug", + Arguments = "testdata/net6.0-windows/WpfTest.dll", ExpectedResult = new ExpectedResult("Passed") { Assemblies = new[] { new ExpectedAssemblyResult("WpfTest.dll", "netcore-6.0") } } }); AllLists.Add(new PackageTest(1, "Net80WPFTest") { Description = "Run test using WPF targeting .NET 8.0", - Arguments = "testdata/net8.0-windows/WpfTest.dll --trace=Debug", + Arguments = "testdata/net8.0-windows/WpfTest.dll", ExpectedResult = new ExpectedResult("Passed") { Assemblies = new[] { new ExpectedAssemblyResult("WpfTest.dll", "netcore-8.0") } } }); @@ -301,22 +308,22 @@ public static class PackageTests { Description = "Run mock-assembly using the .csproj file", Arguments = "../../src/TestData/mock-assembly/mock-assembly.csproj --config=Release", - ExpectedResult = new MockAssemblyExpectedResult("net462", "netcore-3.1", "netcore-6.0", "netcore-7.0", "netcore-8.0"), + ExpectedResult = new MockAssemblyExpectedResult("net462", "netcore-3.1", "netcore-6.0", "netcore-7.0", "netcore-8.0", "netcore-9.0"), ExtensionsNeeded = new[] { Extensions.VSProjectLoader } }); StandardAndZipLists.Add(new PackageTest(1, "VSProjectLoaderTest_Solution") { Description = "Run mock-assembly using the .sln file", - Arguments = "../../src/TestData/TestData.sln --config=Release --trace=Debug", + Arguments = "../../src/TestData/TestData.sln --config=Release", ExpectedResult = new ExpectedResult("Failed") { - Total = 37 * 5, - Passed = 23 * 5, - Failed = 5 * 5, - Warnings = 1 * 5, - Inconclusive = 1 * 5, - Skipped = 7 * 5, + Total = 37 * 6, + Passed = 23 * 6, + Failed = 5 * 6, + Warnings = 1 * 6, + Inconclusive = 1 * 6, + Skipped = 7 * 6, Assemblies = new ExpectedAssemblyResult[] { new ExpectedAssemblyResult("mock-assembly.dll", "net-4.6.2"), @@ -324,6 +331,7 @@ public static class PackageTests new ExpectedAssemblyResult("mock-assembly.dll", "netcore-6.0"), new ExpectedAssemblyResult("mock-assembly.dll", "netcore-7.0"), new ExpectedAssemblyResult("mock-assembly.dll", "netcore-8.0"), + new ExpectedAssemblyResult("mock-assembly.dll", "netcore-9.0"), new ExpectedAssemblyResult("notest-assembly.dll", "net-4.6.2"), new ExpectedAssemblyResult("notest-assembly.dll", "netcore-3.1"), new ExpectedAssemblyResult("notest-assembly.dll", "netstandard-2.0"), @@ -337,7 +345,7 @@ public static class PackageTests StandardAndZipLists.Add(new PackageTest(1, "Net462TeamCityListenerTest1") { Description = "Run mock-assembly targeting .NET 4.6.2 with --teamcity option", - Arguments = "testdata/net462/mock-assembly.dll --teamcity --trace:Debug", + Arguments = "testdata/net462/mock-assembly.dll --teamcity", ExpectedResult = new MockAssemblyExpectedResult("net-4.6.2"), ExtensionsNeeded = new[] { Extensions.TeamCityEventListener }, OutputCheck = new OutputContains("##teamcity") @@ -347,7 +355,7 @@ public static class PackageTests StandardAndZipLists.Add(new PackageTest(1, "Net462TeamCityListenerTest2") { Description = "Run mock-assembly targeting .NET 4.6.2 with --enable teamcity option", - Arguments = "testdata/net462/mock-assembly.dll --enable:NUnit.Engine.Listeners.TeamCityEventListener --trace:Debug", + Arguments = "testdata/net462/mock-assembly.dll --enable:NUnit.Engine.Listeners.TeamCityEventListener", ExpectedResult = new MockAssemblyExpectedResult("net-4.6.2"), ExtensionsNeeded = new[] { Extensions.TeamCityEventListener }, OutputCheck = new OutputContains("##teamcity") @@ -356,7 +364,7 @@ public static class PackageTests AllLists.Add(new PackageTest(1, "Net60TeamCityListenerTest1") { Description = "Run mock-assembly targeting .NET 6.0 with --teamcity option", - Arguments = "testdata/net6.0/mock-assembly.dll --teamcity --trace:Debug", + Arguments = "testdata/net6.0/mock-assembly.dll --teamcity", ExpectedResult = new MockAssemblyExpectedResult("net-6.0"), ExtensionsNeeded = new[] { Extensions.TeamCityEventListener }, OutputCheck = new OutputContains("##teamcity") @@ -366,7 +374,7 @@ public static class PackageTests AllLists.Add(new PackageTest(1, "Net60TeamCityListenerTest2") { Description = "Run mock-assembly targeting .NET 6.0 with --enable teamcity option", - Arguments = "testdata/net6.0/mock-assembly.dll --enable:NUnit.Engine.Listeners.TeamCityEventListener --trace:Debug", + Arguments = "testdata/net6.0/mock-assembly.dll --enable:NUnit.Engine.Listeners.TeamCityEventListener", ExpectedResult = new MockAssemblyExpectedResult("net-6.0"), ExtensionsNeeded = new[] { Extensions.TeamCityEventListener }, OutputCheck = new OutputContains("##teamcity") @@ -414,7 +422,7 @@ public static class PackageTests StandardAndZipLists.Add(new PackageTest(1, "InvalidTestNameTest_Net462") { Description = "Ensure we handle invalid test names correctly targeting .NET 4.6.2", - Arguments = "testdata/net462/InvalidTestNames.dll --trace:Debug", + Arguments = "testdata/net462/InvalidTestNames.dll", ExpectedResult = new ExpectedResult("Passed") { Assemblies = new ExpectedAssemblyResult[] { new ExpectedAssemblyResult("InvalidTestNames.dll", "net-4.6.2") } @@ -424,7 +432,7 @@ public static class PackageTests AllLists.Add(new PackageTest(1, "InvalidTestNameTest_Net60") { Description = "Ensure we handle invalid test names correctly targeting .NET 6.0", - Arguments = "testdata/net6.0/InvalidTestNames.dll --trace:Debug", + Arguments = "testdata/net6.0/InvalidTestNames.dll", ExpectedResult = new ExpectedResult("Passed") { Assemblies = new ExpectedAssemblyResult[] { new ExpectedAssemblyResult("InvalidTestNames.dll", "netcore-6.0") } @@ -434,7 +442,7 @@ public static class PackageTests AllLists.Add(new PackageTest(1, "InvalidTestNameTest_Net80") { Description = "Ensure we handle invalid test names correctly targeting .NET 8.0", - Arguments = "testdata/net8.0/InvalidTestNames.dll --trace:Debug", + Arguments = "testdata/net8.0/InvalidTestNames.dll", ExpectedResult = new ExpectedResult("Passed") { Assemblies = new ExpectedAssemblyResult[] { new ExpectedAssemblyResult("InvalidTestNames.dll", "netcore-8.0") } diff --git a/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj b/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj index 5a6350858..a78b9c67c 100644 --- a/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj +++ b/src/NUnitEngine/nunit.engine.core.tests/nunit.engine.core.tests.csproj @@ -2,7 +2,7 @@ NUnit.Engine.Core.Tests - net462;netcoreapp3.1;net6.0;net8.0 + net462;netcoreapp3.1;net6.0;net8.0;net9.0 Exe true ..\..\nunit.snk diff --git a/src/NUnitEngine/nunit.engine.core/nunit.engine.core.csproj b/src/NUnitEngine/nunit.engine.core/nunit.engine.core.csproj index ac5cc099a..7df5a6aa2 100644 --- a/src/NUnitEngine/nunit.engine.core/nunit.engine.core.csproj +++ b/src/NUnitEngine/nunit.engine.core/nunit.engine.core.csproj @@ -2,7 +2,7 @@ NUnit.Engine - net462;netcoreapp3.1;net6.0;net8.0 + net462;netcoreapp3.1;net6.0;net8.0;net9.0 $(NoWarn);SYSLIB0011;SYSLIB0012 true ..\..\nunit.snk @@ -27,11 +27,15 @@ - + + + + + diff --git a/src/TestData/mock-assembly-x86/mock-assembly-x86.csproj b/src/TestData/mock-assembly-x86/mock-assembly-x86.csproj index 58003c7be..876fe1c72 100644 --- a/src/TestData/mock-assembly-x86/mock-assembly-x86.csproj +++ b/src/TestData/mock-assembly-x86/mock-assembly-x86.csproj @@ -2,7 +2,7 @@ NUnit.Tests - net462;netcoreapp3.1;net6.0;net7.0;net8.0 + net462;netcoreapp3.1;net6.0;net7.0;net8.0;net9.0 ..\..\..\bin\$(Configuration)\testdata\ true ..\..\nunit.snk diff --git a/src/TestData/mock-assembly/mock-assembly.csproj b/src/TestData/mock-assembly/mock-assembly.csproj index 4c7613a41..459ee644e 100644 --- a/src/TestData/mock-assembly/mock-assembly.csproj +++ b/src/TestData/mock-assembly/mock-assembly.csproj @@ -2,7 +2,7 @@ NUnit.Tests - net462;netcoreapp3.1;net6.0;net7.0;net8.0 + net462;netcoreapp3.1;net6.0;net7.0;net8.0;net9.0 ..\..\..\bin\$(Configuration)\testdata\ true ..\..\nunit.snk