Skip to content

Commit

Permalink
Merge pull request #1378 from mlessmann/DotNet8Agent315
Browse files Browse the repository at this point in the history
.NET 8 Console and Agent
  • Loading branch information
OsirisTerje authored Jan 11, 2024
2 parents c52aa3d + 31c20b7 commit b423d3f
Show file tree
Hide file tree
Showing 21 changed files with 161 additions and 24 deletions.
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

0 comments on commit b423d3f

Please sign in to comment.