From 2582fe57610fb4c0b1d9177832141f8042a585a4 Mon Sep 17 00:00:00 2001 From: stevenaw Date: Sat, 14 Dec 2024 23:02:24 -0500 Subject: [PATCH 1/4] Get the benchmarks running again --- src/NUnitFramework/Directory.Build.props | 2 +- src/NUnitFramework/Directory.Packages.props | 4 ++-- .../FrameworkControllerBenchmark.cs | 23 +------------------ .../NUnitJobAttribute.cs | 20 ++++++++++++++++ .../nunit.framework.benchmarks/Program.cs | 2 ++ .../nunit.framework.benchmarks.csproj | 7 +++++- 6 files changed, 32 insertions(+), 26 deletions(-) create mode 100644 src/NUnitFramework/benchmarks/nunit.framework.benchmarks/NUnitJobAttribute.cs diff --git a/src/NUnitFramework/Directory.Build.props b/src/NUnitFramework/Directory.Build.props index a1518a6d19..32b960907c 100644 --- a/src/NUnitFramework/Directory.Build.props +++ b/src/NUnitFramework/Directory.Build.props @@ -4,7 +4,7 @@ 12 strict true - ..\..\nunit.snk + $(MSBuildThisFileDirectory)..\nunit.snk true true net462;net6.0;net8.0 diff --git a/src/NUnitFramework/Directory.Packages.props b/src/NUnitFramework/Directory.Packages.props index b8fab058a3..cf0d561b25 100644 --- a/src/NUnitFramework/Directory.Packages.props +++ b/src/NUnitFramework/Directory.Packages.props @@ -34,7 +34,7 @@ - + @@ -43,4 +43,4 @@ - + \ No newline at end of file diff --git a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/FrameworkControllerBenchmark.cs b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/FrameworkControllerBenchmark.cs index 789f252098..ab0a5ff1f1 100644 --- a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/FrameworkControllerBenchmark.cs +++ b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/FrameworkControllerBenchmark.cs @@ -1,25 +1,4 @@ -// *********************************************************************** -// Copyright (c) 2022 Charlie Poole -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to -// permit persons to whom the Software is furnished to do so, subject to -// the following conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -// *********************************************************************** +// Copyright (c) Charlie Poole, Rob Prouse and Contributors. MIT License - see LICENSE.txt using System.Collections; using BenchmarkDotNet.Attributes; diff --git a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/NUnitJobAttribute.cs b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/NUnitJobAttribute.cs new file mode 100644 index 0000000000..c923179779 --- /dev/null +++ b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/NUnitJobAttribute.cs @@ -0,0 +1,20 @@ +// Copyright (c) Charlie Poole, Rob Prouse and Contributors. MIT License - see LICENSE.txt + +using BenchmarkDotNet.Configs; +using BenchmarkDotNet.Jobs; + +namespace NUnit.Framework; + +[AttributeUsage(AttributeTargets.Class | AttributeTargets.Assembly)] +internal class NUnitJobAttribute : Attribute, IConfigSource +{ + public NUnitJobAttribute() + { + var arg = new MsBuildArgument("/p:AssemblyConfiguration=Release"); + var job = new Job(Job.Default).WithArguments([arg]); + + Config = DefaultConfig.Instance.AddJob(job); + } + + public IConfig Config { get; } +} diff --git a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/Program.cs b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/Program.cs index 9f71a1316c..ad88dde0d9 100644 --- a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/Program.cs +++ b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/Program.cs @@ -3,4 +3,6 @@ using BenchmarkDotNet.Running; using NUnit.Framework; +[assembly: NUnitJob] + BenchmarkSwitcher.FromAssembly(typeof(FrameworkControllerBenchmark).Assembly).Run(args); diff --git a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj index e0f1e9b9b7..315772c16a 100644 --- a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj +++ b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj @@ -6,10 +6,15 @@ enable latest true - ..\..\..\nunit.snk NUnit.Framework + + + + + + From be619195966db0733f24e15535ba9d59911bad4c Mon Sep 17 00:00:00 2001 From: Manfred Brands Date: Sun, 15 Dec 2024 12:40:00 +0800 Subject: [PATCH 2/4] Fix DotNetBenchMark compile --- .../nunit.framework.benchmarks.csproj | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj index 315772c16a..1599ff276e 100644 --- a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj +++ b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj @@ -2,11 +2,13 @@ Exe - net6.0 + net8.0 enable latest true NUnit.Framework + true + 1591 From dce6379c0daac46720e41abc73bd2b8943cd4a65 Mon Sep 17 00:00:00 2001 From: Manfred Brands Date: Sun, 15 Dec 2024 14:18:51 +0800 Subject: [PATCH 3/4] Centralize GenerateDocumentationFile --- src/NUnitFramework/Directory.Build.props | 7 +++++++ src/NUnitFramework/framework/nunit.framework.csproj | 2 +- src/NUnitFramework/mock-assembly/mock-assembly.csproj | 2 -- .../nunit.framework.legacy.tests.csproj | 2 -- .../nunit.framework.legacy/nunit.framework.legacy.csproj | 2 +- .../nunitlite-runner/nunitlite-runner.csproj | 1 - src/NUnitFramework/nunitlite.tests/nunitlite.tests.csproj | 2 -- src/NUnitFramework/nunitlite/nunitlite.csproj | 5 ----- src/NUnitFramework/slow-tests/slow-nunit-tests.csproj | 2 -- src/NUnitFramework/testdata/nunit.testdata.csproj | 2 -- src/NUnitFramework/tests/nunit.framework.tests.csproj | 3 +-- src/NUnitFramework/windows-tests/windows-tests.csproj | 2 -- 12 files changed, 10 insertions(+), 22 deletions(-) diff --git a/src/NUnitFramework/Directory.Build.props b/src/NUnitFramework/Directory.Build.props index 32b960907c..1824e48097 100644 --- a/src/NUnitFramework/Directory.Build.props +++ b/src/NUnitFramework/Directory.Build.props @@ -29,6 +29,13 @@ true + + + + true + 1591 + + $(DefineConstants);THREAD_ABORT diff --git a/src/NUnitFramework/framework/nunit.framework.csproj b/src/NUnitFramework/framework/nunit.framework.csproj index 5459d0503b..1fa8ee441b 100644 --- a/src/NUnitFramework/framework/nunit.framework.csproj +++ b/src/NUnitFramework/framework/nunit.framework.csproj @@ -3,8 +3,8 @@ $(NUnitLibraryFrameworks) NUnit.Framework - true false + diff --git a/src/NUnitFramework/mock-assembly/mock-assembly.csproj b/src/NUnitFramework/mock-assembly/mock-assembly.csproj index 4ca4ec0120..ef44fbfceb 100644 --- a/src/NUnitFramework/mock-assembly/mock-assembly.csproj +++ b/src/NUnitFramework/mock-assembly/mock-assembly.csproj @@ -4,8 +4,6 @@ $(NUnitRuntimeFrameworks) NUnit.Tests false - true - 1591 mock-assembly diff --git a/src/NUnitFramework/nunit.framework.legacy.tests/nunit.framework.legacy.tests.csproj b/src/NUnitFramework/nunit.framework.legacy.tests/nunit.framework.legacy.tests.csproj index a2fdbb5e1b..41d8028de8 100644 --- a/src/NUnitFramework/nunit.framework.legacy.tests/nunit.framework.legacy.tests.csproj +++ b/src/NUnitFramework/nunit.framework.legacy.tests/nunit.framework.legacy.tests.csproj @@ -9,8 +9,6 @@ true true false - true - 1591 diff --git a/src/NUnitFramework/nunit.framework.legacy/nunit.framework.legacy.csproj b/src/NUnitFramework/nunit.framework.legacy/nunit.framework.legacy.csproj index 1dbb36a5ba..bf72494668 100644 --- a/src/NUnitFramework/nunit.framework.legacy/nunit.framework.legacy.csproj +++ b/src/NUnitFramework/nunit.framework.legacy/nunit.framework.legacy.csproj @@ -3,7 +3,7 @@ $(NUnitLibraryFrameworks) NUnit.Framework.Legacy - true + diff --git a/src/NUnitFramework/nunitlite-runner/nunitlite-runner.csproj b/src/NUnitFramework/nunitlite-runner/nunitlite-runner.csproj index 3a1dd39549..c8f6717990 100644 --- a/src/NUnitFramework/nunitlite-runner/nunitlite-runner.csproj +++ b/src/NUnitFramework/nunitlite-runner/nunitlite-runner.csproj @@ -4,7 +4,6 @@ Exe NUnitLite $(NUnitRuntimeFrameworks) - true NUnit Test Runner diff --git a/src/NUnitFramework/nunitlite.tests/nunitlite.tests.csproj b/src/NUnitFramework/nunitlite.tests/nunitlite.tests.csproj index c290a707d2..46528aab62 100644 --- a/src/NUnitFramework/nunitlite.tests/nunitlite.tests.csproj +++ b/src/NUnitFramework/nunitlite.tests/nunitlite.tests.csproj @@ -5,8 +5,6 @@ NUnitLite.Tests $(NUnitRuntimeFrameworks) disable - true - 1591 NUnitLite Runner Tests diff --git a/src/NUnitFramework/nunitlite/nunitlite.csproj b/src/NUnitFramework/nunitlite/nunitlite.csproj index de5628dd53..d70a586dc8 100644 --- a/src/NUnitFramework/nunitlite/nunitlite.csproj +++ b/src/NUnitFramework/nunitlite/nunitlite.csproj @@ -7,11 +7,6 @@ NUnitLite Runner $(AssemblyConfiguration) - - true - CS1591 - - diff --git a/src/NUnitFramework/slow-tests/slow-nunit-tests.csproj b/src/NUnitFramework/slow-tests/slow-nunit-tests.csproj index 5234d11ffb..6668827dd8 100644 --- a/src/NUnitFramework/slow-tests/slow-nunit-tests.csproj +++ b/src/NUnitFramework/slow-tests/slow-nunit-tests.csproj @@ -3,8 +3,6 @@ $(NUnitRuntimeFrameworks) NUnit.Tests - true - 1591 slow-nunit-tests diff --git a/src/NUnitFramework/testdata/nunit.testdata.csproj b/src/NUnitFramework/testdata/nunit.testdata.csproj index 2a60437564..f76c8ef26a 100644 --- a/src/NUnitFramework/testdata/nunit.testdata.csproj +++ b/src/NUnitFramework/testdata/nunit.testdata.csproj @@ -5,8 +5,6 @@ $(NUnitRuntimeFrameworks) false false - true - 1591 diff --git a/src/NUnitFramework/tests/nunit.framework.tests.csproj b/src/NUnitFramework/tests/nunit.framework.tests.csproj index 02e138a883..23093b5633 100644 --- a/src/NUnitFramework/tests/nunit.framework.tests.csproj +++ b/src/NUnitFramework/tests/nunit.framework.tests.csproj @@ -8,8 +8,7 @@ nunit.framework.tests.deps.json file. Maybe fixed by https://github.com/nunit/nunit/issues/3353? --> true true - true - 1591,NU1029 + $(NoWarn),NU1029 NUnit Framework Tests diff --git a/src/NUnitFramework/windows-tests/windows-tests.csproj b/src/NUnitFramework/windows-tests/windows-tests.csproj index 341a7be5c2..82f09cacea 100644 --- a/src/NUnitFramework/windows-tests/windows-tests.csproj +++ b/src/NUnitFramework/windows-tests/windows-tests.csproj @@ -7,8 +7,6 @@ true true true - true - 1591 From a12fcbf31c93367a401505bb75d896d9866abc9a Mon Sep 17 00:00:00 2001 From: stevenaw Date: Sun, 15 Dec 2024 10:12:59 -0500 Subject: [PATCH 4/4] Remove props from benchmarks project + verify it runs --- .../nunit.framework.benchmarks.csproj | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj index 1599ff276e..58d59e92bc 100644 --- a/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj +++ b/src/NUnitFramework/benchmarks/nunit.framework.benchmarks/nunit.framework.benchmarks.csproj @@ -7,8 +7,6 @@ latest true NUnit.Framework - true - 1591