Skip to content

Commit 9fa554d

Browse files
committed
Update recipe and test runners
1 parent 5db1b23 commit 9fa554d

File tree

2 files changed

+100
-91
lines changed

2 files changed

+100
-91
lines changed

build.cake

Lines changed: 97 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,36 @@
44
#tool nuget:?package=NUnit.ConsoleRunner&version=3.15.5
55
#tool nuget:?package=NUnit.ConsoleRunner.NetCore&version=3.19.2
66
#tool nuget:?package=NUnit.ConsoleRunner.NetCore&version=3.18.3
7+
#tool nuget:?package=NUnit.ConsoleRunner.NetCore&version=3.17.0
8+
#tool nuget:?package=NUnit.ConsoleRunner.NetCore&version=3.15.5
9+
10+
// NOTE: Because of permission issues in installing the chocolatey
11+
// versions of the NUnit console runner, all tests use the nuget
12+
// packages. The test runners included in the recipe adjust the
13+
// search path for extensions accordingly.
14+
15+
// StandardRunners is used as the default setting for our tests,
16+
// since the standard runner can execute all of them
17+
var StandardRunners = new IPackageTestRunner[] {
18+
new NUnitConsoleRunner("NUnit.ConsoleRunner", "3.19.2"),
19+
new NUnitConsoleRunner("NUnit.ConsoleRunner", "3.18.3"),
20+
new NUnitConsoleRunner("NUnit.ConsoleRunner", "3.17.0"),
21+
new NUnitConsoleRunner("NUnit.ConsoleRunner", "3.15.5"),
22+
};
723

8-
// Define runners to be used for testing packages
9-
static readonly IPackageTestRunner[] PACKAGE_TEST_RUNNERS = new IPackageTestRunner[] {
10-
new NUnitConsoleRunner("3.19.2"),
11-
new NUnitConsoleRunner("3.18.3"),
12-
new NUnitConsoleRunner("3.17.0"),
13-
new NUnitConsoleRunner("3.15.5")
14-
//new NUnit3NetCoreConsoleRunner("3.19.2"),
15-
//new NUnit3NetCoreConsoleRunner("3.18.3"),
24+
var NetCoreRunners = new IPackageTestRunner[] {
25+
new NUnit3NetCoreConsoleRunner("NUnit.ConsoleRunner.NetCore", "3.19.2", "tools/net8.0/any/nunit3-console.exe"),
26+
new NUnit3NetCoreConsoleRunner("NUnit.ConsoleRunner.NetCore", "3.18.3", "tools/net6.0/any/nunit3-console.exe"),
27+
new NUnit3NetCoreConsoleRunner("NUnit.ConsoleRunner.NetCore", "3.17.0", "tools/net6.0/any/nunit3-console.exe"),
28+
new NUnit3NetCoreConsoleRunner("NUnit.ConsoleRunner.NetCore", "3.15.5", "tools/net6.0/any/nunit3-console.exe")
1629
};
1730

18-
// Load the recipe
19-
#load nuget:?package=NUnit.Cake.Recipe&version=1.4.0-alpha.4
31+
// For .NET Core tests, we override the default and use AllRunners,
32+
// since both the standard and netcore runners can execute them.
33+
var AllRunners = new List<IPackageTestRunner>( StandardRunners.Concat(NetCoreRunners) ).ToArray();
2034

35+
// Load the recipe
36+
#load nuget:?package=NUnit.Cake.Recipe&version=1.4.0-alpha.5
2137
// Comment out above line and uncomment below for local tests of recipe changes
2238
//#load ../NUnit.Cake.Recipe/recipe/*.cake
2339

@@ -34,68 +50,74 @@ BuildSettings.Initialize(
3450
// PACKAGE TESTS
3551
//////////////////////////////////////////////////////////////////////
3652

37-
PackageTest[] PackageTests = new PackageTest[]
53+
var SingleAssembly_AllTestsPass = new PackageTest (1, "SingleAssembly_AllTestsPass")
54+
{
55+
Description = "Project with one assembly, all tests pass",
56+
Arguments = "../../PassingAssembly.nunit",
57+
ExpectedResult = new ExpectedResult("Passed") {
58+
Total = 4, Passed = 4, Failed = 0, Warnings = 0, Inconclusive = 0, Skipped = 0,
59+
Assemblies = new[] { new ExpectedAssemblyResult("test-lib-1.dll", "net-4.6.2") } }
60+
};
61+
62+
var SingleAssembly_SomeTestsFail = new PackageTest (1, "SingleAssembly_SomeTestsFail")
63+
{
64+
Description = "Project with one assembly, some failures",
65+
Arguments = "../../FailingAssembly.nunit",
66+
ExpectedResult = new ExpectedResult("Failed") {
67+
Total = 9, Passed = 4, Failed = 2, Warnings = 0, Inconclusive = 1, Skipped = 2,
68+
Assemblies = new[] { new ExpectedAssemblyResult("test-lib-2.dll", "net-4.6.2") } }
69+
};
70+
71+
var BothAssembliesTogether = new PackageTest (1, "BothAssembliesTogether")
72+
{
73+
Description = "Project with both assemblies",
74+
Arguments = "../../BothAssemblies.nunit",
75+
ExpectedResult = new ExpectedResult("Failed") {
76+
Total = 13, Passed = 8, Failed = 2, Warnings = 0, Inconclusive = 1, Skipped = 2,
77+
Assemblies = new[] {
78+
new ExpectedAssemblyResult("test-lib-1.dll", "net-4.6.2"),
79+
new ExpectedAssemblyResult("test-lib-2.dll", "net-4.6.2") } }
80+
};
81+
82+
var SingleNetCoreAssembly_AllTestsPass = new PackageTest (1, "SingleNetCoreAssembly_AllTestsPass")
83+
{
84+
Description = "Project with one .NET Core assembly, all tests pass",
85+
Arguments = "../../PassingAssemblyNetCore.nunit",
86+
ExpectedResult = new ExpectedResult("Passed") {
87+
Total = 4, Passed = 4, Failed = 0, Warnings = 0, Inconclusive = 0, Skipped = 0,
88+
Assemblies = new[] { new ExpectedAssemblyResult("test-lib-1.dll", "netcore-6.0") } },
89+
TestRunners = AllRunners
90+
};
91+
92+
var SingleNetCoreAssembly_SomeTestsFail = new PackageTest (1, "SingleNetCoreAssembly_SomeTestsFail")
3893
{
39-
new PackageTest (1, "SingleAssembly_AllTestsPass")
40-
{
41-
Description = "Project with one assembly, all tests pass",
42-
Arguments = "../../PassingAssembly.nunit",
43-
ExpectedResult = new ExpectedResult("Passed") {
44-
Total = 4, Passed = 4, Failed = 0, Warnings = 0, Inconclusive = 0, Skipped = 0,
45-
Assemblies = new[] { new ExpectedAssemblyResult("test-lib-1.dll", "net-4.6.2") } }
46-
},
47-
48-
new PackageTest (1, "SingleAssembly_SomeTestsFail")
49-
{
50-
Description = "Project with one assembly, some failures",
51-
Arguments = "../../FailingAssembly.nunit",
52-
ExpectedResult = new ExpectedResult("Failed") {
53-
Total = 9, Passed = 4, Failed = 2, Warnings = 0, Inconclusive = 1, Skipped = 2,
54-
Assemblies = new[] { new ExpectedAssemblyResult("test-lib-2.dll", "net-4.6.2") } }
55-
},
56-
57-
new PackageTest (1, "BothAssembliesTogether")
58-
{
59-
Description = "Project with both assemblies",
60-
Arguments = "../../BothAssemblies.nunit",
61-
ExpectedResult = new ExpectedResult("Failed") {
62-
Total = 13, Passed = 8, Failed = 2, Warnings = 0, Inconclusive = 1, Skipped = 2,
63-
Assemblies = new[] {
64-
new ExpectedAssemblyResult("test-lib-1.dll", "net-4.6.2"),
65-
new ExpectedAssemblyResult("test-lib-2.dll", "net-4.6.2") } }
66-
},
67-
68-
new PackageTest (1, "SingleNetCoreAssembly_AllTestsPass")
69-
{
70-
Description = "Project with one .NET Core assembly, all tests pass",
71-
Arguments = "../../PassingAssemblyNetCore.nunit",
72-
ExpectedResult = new ExpectedResult("Passed") {
73-
Total = 4, Passed = 4, Failed = 0, Warnings = 0, Inconclusive = 0, Skipped = 0,
74-
Assemblies = new[] { new ExpectedAssemblyResult("test-lib-1.dll", "netcore-6.0") } }
75-
//TestRunners = new IPackageTestRunner[] { (IPackageTestRunner)new NUnit3NetCoreConsoleRunner("3.19.2") }
76-
},
77-
78-
new PackageTest (1, "SingleNetCoreAssembly_SomeTestsFail")
79-
{
80-
Description = "Project with one .NET Core assembly, some failures",
81-
Arguments = "../../FailingAssemblyNetCore.nunit",
82-
ExpectedResult = new ExpectedResult("Failed") {
83-
Total = 9, Passed = 4, Failed = 2, Warnings = 0, Inconclusive = 1, Skipped = 2,
84-
Assemblies = new[] { new ExpectedAssemblyResult("test-lib-2.dll", "netcore-6.0") } }
85-
//TestRunners = new IPackageTestRunner[] { (IPackageTestRunner)new NUnit3NetCoreConsoleRunner("3.19.2") }
86-
},
87-
88-
new PackageTest (1, "BothNetCoreAssembliesTogether")
89-
{
90-
Description = "Project with both .NET Core assemblies",
91-
Arguments = "../../BothAssembliesNetCore.nunit",
92-
ExpectedResult = new ExpectedResult("Failed") {
93-
Total = 13, Passed = 8, Failed = 2, Warnings = 0, Inconclusive = 1, Skipped = 2,
94-
Assemblies = new[] {
95-
new ExpectedAssemblyResult("test-lib-1.dll", "netcore-6.0"),
96-
new ExpectedAssemblyResult("test-lib-2.dll", "netcore-6.0") } }
97-
//TestRunners = new IPackageTestRunner[] { (IPackageTestRunner)new NUnit3NetCoreConsoleRunner("3.19.2") }
98-
}
94+
Description = "Project with one .NET Core assembly, some failures",
95+
Arguments = "../../FailingAssemblyNetCore.nunit",
96+
ExpectedResult = new ExpectedResult("Failed") {
97+
Total = 9, Passed = 4, Failed = 2, Warnings = 0, Inconclusive = 1, Skipped = 2,
98+
Assemblies = new[] { new ExpectedAssemblyResult("test-lib-2.dll", "netcore-6.0") } },
99+
TestRunners = AllRunners
100+
};
101+
102+
var BothNetCoreAssembliesTogether = new PackageTest (1, "BothNetCoreAssembliesTogether")
103+
{
104+
Description = "Project with both .NET Core assemblies",
105+
Arguments = "../../BothAssembliesNetCore.nunit",
106+
ExpectedResult = new ExpectedResult("Failed") {
107+
Total = 13, Passed = 8, Failed = 2, Warnings = 0, Inconclusive = 1, Skipped = 2,
108+
Assemblies = new[] {
109+
new ExpectedAssemblyResult("test-lib-1.dll", "netcore-6.0"),
110+
new ExpectedAssemblyResult("test-lib-2.dll", "netcore-6.0") } },
111+
TestRunners = AllRunners
112+
};
113+
114+
var AllTests = new PackageTest[] {
115+
SingleAssembly_AllTestsPass,
116+
SingleAssembly_SomeTestsFail,
117+
BothAssembliesTogether,
118+
SingleNetCoreAssembly_AllTestsPass,
119+
SingleNetCoreAssembly_SomeTestsFail,
120+
BothNetCoreAssembliesTogether
99121
};
100122

101123
//////////////////////////////////////////////////////////////////////
@@ -111,15 +133,8 @@ BuildSettings.Packages.Add(
111133
HasDirectory("tools").WithFile("nunit-project-loader.legacy.addins"),
112134
HasDirectory("tools/net462").WithFiles("nunit-project-loader.dll", "nunit.engine.api.dll"),
113135
HasDirectory("tools/net6.0").WithFiles("nunit-project-loader.dll", "nunit.engine.api.dll") },
114-
tests: PackageTests,
115-
testRunners: new IPackageTestRunner[] {
116-
new NUnitConsoleRunner("3.19.2"),
117-
new NUnitConsoleRunner("3.18.3"),
118-
new NUnitConsoleRunner("3.17.0"),
119-
new NUnitConsoleRunner("3.15.5")
120-
//new NUnit3NetCoreConsoleRunner("3.19.2"),
121-
//new NUnit3NetCoreConsoleRunner("3.18.3"),
122-
}
136+
tests: AllTests,
137+
testRunners: StandardRunners
123138
));
124139

125140
//////////////////////////////////////////////////////////////////////
@@ -134,15 +149,8 @@ BuildSettings.Packages.Add(
134149
HasDirectory("tools").WithFiles("LICENSE.txt", "VERIFICATION.txt", "nunit-project-loader.legacy.addins"),
135150
HasDirectory("tools/net462").WithFiles("nunit-project-loader.dll", "nunit.engine.api.dll"),
136151
HasDirectory("tools/net6.0").WithFiles("nunit-project-loader.dll", "nunit.engine.api.dll") },
137-
tests: PackageTests,
138-
testRunners: new IPackageTestRunner[] {
139-
//new NUnitConsoleRunner("3.19.2"),
140-
new NUnitConsoleRunner("3.18.3"),
141-
new NUnitConsoleRunner("3.17.0"),
142-
new NUnitConsoleRunner("3.15.5")
143-
//new NUnit3NetCoreConsoleRunner("3.19.2"),
144-
//new NUnit3NetCoreConsoleRunner("3.18.3"),
145-
}
152+
tests: AllTests,
153+
testRunners: StandardRunners
146154
));
147155

148156
//////////////////////////////////////////////////////////////////////

nunit-project-loader.sln

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,20 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "nunit-project-loader.tests"
99
EndProject
1010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{3B28CF0C-D613-4971-9D8F-00C960C656E2}"
1111
ProjectSection(SolutionItems) = preProject
12-
.travis.yml = .travis.yml
13-
appveyor.yml = appveyor.yml
1412
BothAssemblies.nunit = BothAssemblies.nunit
13+
BothAssembliesNetCore.nunit = BothAssembliesNetCore.nunit
1514
build.cake = build.cake
1615
build.ps1 = build.ps1
1716
build.sh = build.sh
1817
FailingAssembly.nunit = FailingAssembly.nunit
18+
FailingAssemblyNetCore.nunit = FailingAssemblyNetCore.nunit
1919
GitReleaseManager.yaml = GitReleaseManager.yaml
2020
GitVersion.yml = GitVersion.yml
2121
LICENSE.txt = LICENSE.txt
2222
nunit-project-loader.addins = nunit-project-loader.addins
2323
nunit-project-loader.nuspec = nunit-project-loader.nuspec
2424
PassingAssembly.nunit = PassingAssembly.nunit
25+
PassingAssemblyNetCore.nunit = PassingAssemblyNetCore.nunit
2526
README.md = README.md
2627
EndProjectSection
2728
EndProject

0 commit comments

Comments
 (0)