Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.NET 8 Console and Agent #1378

Merged
merged 4 commits into from
Jan 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 34 additions & 4 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,19 @@ jobs:
condition: not(or(startsWith(variables['Build.SourceBranchName'], 'azure-linux-'),startsWith(variables['Build.SourceBranchName'], 'azure-macOS-')))
pool:
vmImage: windows-2022

steps:

- task: UseDotNet@2
displayName: 'Install .NET 8.0'
inputs:
version: 8.x

- task: UseDotNet@2
displayName: 'Install .NET 7.0'
inputs:
version: 7.x

- task: UseDotNet@2
displayName: 'Install .NET 6.0'
inputs:
Expand All @@ -26,7 +36,7 @@ jobs:
displayName: 'Install .NET Core SDK'
inputs:
version: 3.1.x

- task: UseDotNet@2
displayName: 'Install .NET Core runtime 2.1'
inputs:
Expand Down Expand Up @@ -69,6 +79,16 @@ jobs:
vmImage: ubuntu-20.04
steps:

- task: UseDotNet@2
displayName: 'Install .NET 8.0'
inputs:
version: 8.x

- task: UseDotNet@2
displayName: 'Install .NET 7.0'
inputs:
version: 7.x

- task: UseDotNet@2
displayName: 'Install .NET 6.0'
inputs:
Expand All @@ -83,7 +103,7 @@ jobs:
displayName: 'Install .NET Core SDK'
inputs:
version: 3.1.x

- task: UseDotNet@2
displayName: 'Install .NET Core runtime 2.1'
inputs:
Expand Down Expand Up @@ -118,6 +138,16 @@ jobs:
vmImage: macOS-11
steps:

- task: UseDotNet@2
displayName: 'Install .NET 8.0'
inputs:
version: 8.x

- task: UseDotNet@2
displayName: 'Install .NET 7.0'
inputs:
version: 7.x

- task: UseDotNet@2
displayName: 'Install .NET 6.0'
inputs:
Expand All @@ -132,7 +162,7 @@ jobs:
displayName: 'Install .NET Core SDK'
inputs:
version: 3.1.x

- task: UseDotNet@2
displayName: 'Install .NET Core runtime 2.1'
inputs:
Expand Down
19 changes: 16 additions & 3 deletions build.cake
Original file line number Diff line number Diff line change
Expand Up @@ -139,8 +139,8 @@ private void BuildEachProjectSeparately()
BuildProject(AGENT_X86_PROJECT);

BuildProject(ENGINE_TESTS_PROJECT, "net35", "netcoreapp2.1");
BuildProject(ENGINE_CORE_TESTS_PROJECT, "net35", "netcoreapp2.1", "netcoreapp3.1", "net5.0", "net6.0");
BuildProject(CONSOLE_TESTS_PROJECT, "net35", "net6.0");
BuildProject(ENGINE_CORE_TESTS_PROJECT, "net35", "netcoreapp2.1", "netcoreapp3.1", "net5.0", "net6.0", "net8.0");
BuildProject(CONSOLE_TESTS_PROJECT, "net35", "net6.0", "net8.0");

BuildProject(MOCK_ASSEMBLY_X86_PROJECT, "net35", "net40", "netcoreapp2.1", "netcoreapp3.1");
BuildProject(NOTEST_PROJECT, "net35", "netcoreapp2.1", "netcoreapp3.1");
Expand Down Expand Up @@ -317,7 +317,7 @@ Task("TestNet20Console")
{
RunNet20Console(CONSOLE_TESTS, "net35");
});

//////////////////////////////////////////////////////////////////////
// TEST .NET 6.0 CONSOLE
//////////////////////////////////////////////////////////////////////
Expand All @@ -331,6 +331,19 @@ Task("TestNet60Console")
RunNetCoreConsole(CONSOLE_TESTS, "net6.0");
});

//////////////////////////////////////////////////////////////////////
// TEST .NET 8.0 CONSOLE
//////////////////////////////////////////////////////////////////////

Task("TestNet80Console")
.Description("Tests the .NET 8.0 console runner")
.IsDependentOn("Build")
.OnError(exception => { UnreportedErrors.Add(exception.Message); })
.Does(() =>
{
RunNetCoreConsole(CONSOLE_TESTS, "net8.0");
});

//////////////////////////////////////////////////////////////////////
// FETCH BUNDLED EXTENSIONS
//////////////////////////////////////////////////////////////////////
Expand Down
1 change: 1 addition & 0 deletions cake/constants.cake
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ var NOTEST_PROJECT = SOURCE_DIR + "NUnitEngine/notest-assembly/notest-assembly.c
// Console Runner
var NET20_CONSOLE = BIN_DIR + "net20/nunit3-console.exe";
var NET60_CONSOLE = BIN_DIR + "net6.0/nunit3-console.dll";
var NET80_CONSOLE = BIN_DIR + "net8.0/nunit3-console.dll";
// Unit Tests
var NETFX_ENGINE_CORE_TESTS = "nunit.engine.core.tests.exe";
var NETCORE_ENGINE_CORE_TESTS = "nunit.engine.core.tests.dll";
Expand Down
34 changes: 30 additions & 4 deletions cake/package-definitions.cake
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
PackageDefinition NUnitConsoleNuGetPackage;
PackageDefinition NUnitConsoleRunnerNuGetPackage;
PackageDefinition NUnitConsoleRunnerNet60Package;
PackageDefinition NUnitConsoleRunnerNet80Package;
PackageDefinition NUnitEnginePackage;
PackageDefinition NUnitEngineApiPackage;
PackageDefinition NUnitConsoleRunnerChocolateyPackage;
Expand Down Expand Up @@ -46,6 +47,8 @@ public void InitializePackageDefinitions(ICakeContext context)
NetCore31Test,
Net50Test,
Net60Test,
Net70Test,
Net80Test,
NetCore21PlusNetCore31Test,
NetCore21PlusNetCore31PlusNet50PlusNet60Test
};
Expand All @@ -71,19 +74,38 @@ public void InitializePackageDefinitions(ICakeContext context)
HasDirectory("tools/agents/net40").WithFiles(AGENT_FILES).AndFile("nunit.agent.addins"),
HasDirectory("tools/agents/netcoreapp3.1").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"),
HasDirectory("tools/agents/net5.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"),
HasDirectory("tools/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins")
HasDirectory("tools/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"),
HasDirectory("tools/agents/net7.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"),
HasDirectory("tools/agents/net8.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins")
},
symbols: new PackageCheck[] {
HasDirectory("tools").WithFiles(ENGINE_PDB_FILES).AndFile("nunit3-console.pdb"),
HasDirectory("tools/agents/net20").WithFiles(AGENT_PDB_FILES),
HasDirectory("tools/agents/net40").WithFiles(AGENT_PDB_FILES),
HasDirectory("tools/agents/netcoreapp3.1").WithFiles(AGENT_PDB_FILES_NETCORE),
HasDirectory("tools/agents/net5.0").WithFiles(AGENT_PDB_FILES_NETCORE),
HasDirectory("tools/agents/net6.0").WithFiles(AGENT_PDB_FILES_NETCORE)
HasDirectory("tools/agents/net6.0").WithFiles(AGENT_PDB_FILES_NETCORE),
HasDirectory("tools/agents/net7.0").WithFiles(AGENT_PDB_FILES_NETCORE),
HasDirectory("tools/agents/net8.0").WithFiles(AGENT_PDB_FILES_NETCORE)
},
executable: "tools/nunit3-console.exe",
tests: StandardRunnerTests),

NUnitConsoleRunnerNet80Package = new NuGetPackage(
context: context,
id: "NUnit.ConsoleRunner.NetCore",
version: ProductVersion,
source: NUGET_DIR + "runners/nunit.console-runner.netcore.nuspec",
checks: new PackageCheck[] {
HasFiles("LICENSE.txt", "NOTICES.txt"),
HasDirectory("tools/net8.0/any").WithFiles(CONSOLE_FILES_NETCORE).AndFiles(ENGINE_FILES).AndFile("nunit.console.nuget.addins")
},
symbols: new PackageCheck[] {
HasDirectory("tools/net8.0/any").WithFile("nunit3-console.pdb").AndFiles(ENGINE_PDB_FILES)
},
executable: "tools/net8.0/any/nunit3-console.exe",
tests: NetCoreRunnerTests),

NUnitConsoleRunnerNet60Package = new NuGetPackage(
context: context,
id: "NUnit.ConsoleRunner.NetCore",
Expand All @@ -110,7 +132,9 @@ public void InitializePackageDefinitions(ICakeContext context)
HasDirectory("tools/agents/net40").WithFiles(AGENT_FILES).AndFile("nunit.agent.addins"),
HasDirectory("tools/agents/netcoreapp3.1").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"),
HasDirectory("tools/agents/net5.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"),
HasDirectory("tools/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins")
HasDirectory("tools/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"),
HasDirectory("tools/agents/net7.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins"),
HasDirectory("tools/agents/net8.0").WithFiles(AGENT_FILES_NETCORE).AndFile("nunit.agent.addins")
},
executable: "tools/nunit3-console.exe",
tests: StandardRunnerTests),
Expand Down Expand Up @@ -144,7 +168,9 @@ public void InitializePackageDefinitions(ICakeContext context)
HasDirectory("bin/agents/net20").WithFiles(AGENT_FILES).AndFiles(AGENT_PDB_FILES),
HasDirectory("bin/agents/net40").WithFiles(AGENT_FILES).AndFiles(AGENT_PDB_FILES),
HasDirectory("bin/agents/net5.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE),
HasDirectory("bin/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE)
HasDirectory("bin/agents/net6.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE),
HasDirectory("bin/agents/net7.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE),
HasDirectory("bin/agents/net8.0").WithFiles(AGENT_FILES_NETCORE).AndFiles(AGENT_PDB_FILES_NETCORE)
},
executable: "bin/net20/nunit3-console.exe",
tests: StandardRunnerTests.Concat(new[] { NUnitProjectTest })),
Expand Down
14 changes: 13 additions & 1 deletion cake/package-tests.cake
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,18 @@ static PackageTest Net35PlusNet40Test = new PackageTest(
"net35/mock-assembly.dll net40/mock-assembly.dll",
MockAssemblyExpectedResult(2));

static PackageTest Net80Test = new PackageTest(
"Net80Test",
"Run mock-assembly.dll under .NET 8.0",
"net8.0/mock-assembly.dll",
MockAssemblyExpectedResult(1));

static PackageTest Net70Test = new PackageTest(
"Net70Test",
"Run mock-assembly.dll under .NET 7.0",
"net7.0/mock-assembly.dll",
MockAssemblyExpectedResult(1));

static PackageTest Net60Test = new PackageTest(
"Net60Test",
"Run mock-assembly.dll under .NET 6.0",
Expand Down Expand Up @@ -87,7 +99,7 @@ static PackageTest NetCore21PlusNetCore31Test = new PackageTest(
static PackageTest NetCore21PlusNetCore31PlusNet50PlusNet60Test = new PackageTest(
"NetCore21PlusNetCore31PlusNet50PlusNet60Test",
"Run four copies of mock-assembly together",
"netcoreapp2.1/mock-assembly.dll netcoreapp3.1/mock-assembly.dll net5.0/mock-assembly.dll net6.0/mock-assembly.dll",
"netcoreapp2.1/mock-assembly.dll netcoreapp3.1/mock-assembly.dll net5.0/mock-assembly.dll net6.0/mock-assembly.dll net7.0/mock-assembly.dll net8.0/mock-assembly.dll",
MockAssemblyExpectedResult(4));

static PackageTest Net40PlusNet60Test = new PackageTest(
Expand Down
2 changes: 1 addition & 1 deletion cake/utilities.cake
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ void RunNetCoreConsole(string testAssembly, string targetRuntime)
"dotnet",
new ProcessSettings
{
Arguments = $"\"{NET60_CONSOLE}\" \"{assemblyPath}\" --result:{resultPath}",
Arguments = $"\"{NET80_CONSOLE}\" \"{assemblyPath}\" --result:{resultPath}",
WorkingDirectory = workingDir
});

Expand Down
20 changes: 20 additions & 0 deletions choco/nunit-console-runner.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -92,5 +92,25 @@
<file src = "$BIN_DIR$agents/net6.0/nunit.engine.core.dll" target="tools/agents/net6.0" />
<file src = "$BIN_DIR$agents/net6.0/testcentric.engine.metadata.dll" target="tools/agents/net6.0" />
<file src = "nunit.agent.addins" target = "tools/agents/net6.0" />

<file src = "$BIN_DIR$agents/net7.0/nunit-agent.dll" target="tools/agents/net7.0" />
<file src = "$BIN_DIR$agents/net7.0/nunit-agent.dll.config" target="tools/agents/net7.0" />
<file src = "$BIN_DIR$agents/net7.0/nunit-agent.deps.json" target="tools/agents/net7.0" />
<file src = "$BIN_DIR$agents/net7.0/nunit-agent.runtimeconfig.json" target="tools/agents/net7.0" />
<file src = "$BIN_DIR$agents/net7.0/nunit.engine.api.dll" target="tools/agents/net7.0" />
<file src = "$BIN_DIR$agents/net7.0/nunit.engine.api.xml" target="tools/agents/net7.0" />
<file src = "$BIN_DIR$agents/net7.0/nunit.engine.core.dll" target="tools/agents/net7.0" />
<file src = "$BIN_DIR$agents/net7.0/testcentric.engine.metadata.dll" target="tools/agents/net7.0" />
<file src = "nunit.agent.addins" target = "tools/agents/net7.0" />

<file src = "$BIN_DIR$agents/net8.0/nunit-agent.dll" target="tools/agents/net8.0" />
<file src = "$BIN_DIR$agents/net8.0/nunit-agent.dll.config" target="tools/agents/net8.0" />
<file src = "$BIN_DIR$agents/net8.0/nunit-agent.deps.json" target="tools/agents/net8.0" />
<file src = "$BIN_DIR$agents/net8.0/nunit-agent.runtimeconfig.json" target="tools/agents/net8.0" />
<file src = "$BIN_DIR$agents/net8.0/nunit.engine.api.dll" target="tools/agents/net8.0" />
<file src = "$BIN_DIR$agents/net8.0/nunit.engine.api.xml" target="tools/agents/net8.0" />
<file src = "$BIN_DIR$agents/net8.0/nunit.engine.core.dll" target="tools/agents/net8.0" />
<file src = "$BIN_DIR$agents/net8.0/testcentric.engine.metadata.dll" target="tools/agents/net8.0" />
<file src = "nunit.agent.addins" target = "tools/agents/net8.0" />
</files>
</package>
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "6.0.101",
"version": "8.0.100",
"rollForward": "feature"
}
}
26 changes: 26 additions & 0 deletions nuget/runners/nunit.console-runner.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,32 @@
<file src="agents/net6.0/testcentric.engine.metadata.dll" target="tools/agents/net6.0" />
<file src="../../nuget/engine/nunit.agent.addins" target="tools/agents/net6.0"/>

<file src="agents/net7.0/nunit-agent.dll" target="tools/agents/net7.0" />
<file src="agents/net7.0/nunit-agent.pdb" target="tools/agents/net7.0" />
<file src="agents/net7.0/nunit-agent.dll.config" target="tools/agents/net7.0" />
<file src="agents/net7.0/nunit-agent.deps.json" target="tools/agents/net7.0" />
<file src="agents/net7.0/nunit-agent.runtimeconfig.json" target="tools/agents/net7.0" />
<file src="agents/net7.0/nunit.engine.api.dll" target="tools/agents/net7.0" />
<file src="agents/net7.0/nunit.engine.api.pdb" target="tools/agents/net7.0" />
<file src="agents/net7.0/nunit.engine.api.xml" target="tools/agents/net7.0" />
<file src="agents/net7.0/nunit.engine.core.dll" target="tools/agents/net7.0" />
<file src="agents/net7.0/nunit.engine.core.pdb" target="tools/agents/net7.0" />
<file src="agents/net7.0/testcentric.engine.metadata.dll" target="tools/agents/net7.0" />
<file src="../../nuget/engine/nunit.agent.addins" target="tools/agents/net7.0"/>

<file src="agents/net8.0/nunit-agent.dll" target="tools/agents/net8.0" />
<file src="agents/net8.0/nunit-agent.pdb" target="tools/agents/net8.0" />
<file src="agents/net8.0/nunit-agent.dll.config" target="tools/agents/net8.0" />
<file src="agents/net8.0/nunit-agent.deps.json" target="tools/agents/net8.0" />
<file src="agents/net8.0/nunit-agent.runtimeconfig.json" target="tools/agents/net8.0" />
<file src="agents/net8.0/nunit.engine.api.dll" target="tools/agents/net8.0" />
<file src="agents/net8.0/nunit.engine.api.pdb" target="tools/agents/net8.0" />
<file src="agents/net8.0/nunit.engine.api.xml" target="tools/agents/net8.0" />
<file src="agents/net8.0/nunit.engine.core.dll" target="tools/agents/net8.0" />
<file src="agents/net8.0/nunit.engine.core.pdb" target="tools/agents/net8.0" />
<file src="agents/net8.0/testcentric.engine.metadata.dll" target="tools/agents/net8.0" />
<file src="../../nuget/engine/nunit.agent.addins" target="tools/agents/net8.0"/>

<file src="net20/nunit3-console.exe" target="tools" />
<file src="net20/nunit3-console.pdb" target="tools" />
<file src="net20/nunit3-console.exe.config" target="tools" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<RootNamespace>NUnit.ConsoleRunner.Tests</RootNamespace>
<TargetFrameworks>net35;net6.0</TargetFrameworks>
<TargetFrameworks>net35;net6.0;net8.0</TargetFrameworks>
<NoWarn>1685</NoWarn>
<DebugType>Full</DebugType>
</PropertyGroup>
Expand Down
4 changes: 2 additions & 2 deletions src/NUnitConsole/nunit3-console/OptionsUtils/Options.cs
Original file line number Diff line number Diff line change
Expand Up @@ -771,7 +771,7 @@ public OptionException(string message, string optionName, Exception innerExcepti
this.option = optionName;
}

#if !PCL
#if !PCL && !NET8_0_OR_GREATER
protected OptionException(SerializationInfo info, StreamingContext context)
: base(info, context)
{
Expand All @@ -784,7 +784,7 @@ public string OptionName
get { return this.option; }
}

#if !PCL
#if !PCL && !NET8_0_OR_GREATER
public override void GetObjectData(SerializationInfo info, StreamingContext context)
{
base.GetObjectData(info, context);
Expand Down
2 changes: 1 addition & 1 deletion src/NUnitConsole/nunit3-console/nunit3-console.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<OutputType>Exe</OutputType>
<RootNamespace>NUnit.ConsoleRunner</RootNamespace>
<AssemblyName>nunit3-console</AssemblyName>
<TargetFrameworks>net20;net6.0</TargetFrameworks>
<TargetFrameworks>net20;net6.0;net8.0</TargetFrameworks>
<RollForward>Major</RollForward>
</PropertyGroup>

Expand Down
1 change: 1 addition & 0 deletions src/NUnitEngine/mock-assembly-x86/mock-assembly-x86.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<AssemblyOriginatorKeyFile>..\..\nunit.snk</AssemblyOriginatorKeyFile>
<PlatformTarget>x86</PlatformTarget>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<NuGetAudit Condition="'$(TargetFramework)'=='netcoreapp2.1'">false</NuGetAudit>
</PropertyGroup>

<PropertyGroup>
Expand Down
3 changes: 2 additions & 1 deletion src/NUnitEngine/mock-assembly/mock-assembly.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

<PropertyGroup>
<RootNamespace>NUnit.Tests</RootNamespace>
<TargetFrameworks>net35;net40;netcoreapp2.1;netcoreapp3.1;net5.0;net6.0</TargetFrameworks>
<TargetFrameworks>net35;net40;netcoreapp2.1;netcoreapp3.1;net5.0;net6.0;net7.0;net8.0</TargetFrameworks>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>..\..\nunit.snk</AssemblyOriginatorKeyFile>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<NuGetAudit Condition="'$(TargetFramework)'=='netcoreapp2.1'">false</NuGetAudit>
</PropertyGroup>

<PropertyGroup>
Expand Down
1 change: 1 addition & 0 deletions src/NUnitEngine/notest-assembly/notest-assembly.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<RootNamespace>notest_assembly</RootNamespace>
<TargetFrameworks>net35;netcoreapp2.1;netcoreapp3.1</TargetFrameworks>
<CheckEolTargetFramework>false</CheckEolTargetFramework>
<NuGetAudit Condition="'$(TargetFramework)'=='netcoreapp2.1'">false</NuGetAudit>
</PropertyGroup>

<PropertyGroup>
Expand Down
Loading