@@ -15,28 +15,31 @@ BuildSettings.Initialize(
15
15
16
16
//////////////////////////////////////////////////////////////////////
17
17
// LISTS OF FILES USED IN CHECKING PACKAGES
18
- //////////////////////////////////////////////////////////////////////
18
+ //////////////////////////////////////////////////////////////////////
19
19
20
+ FilePath [ ] ConsoleFiles = {
21
+ "nunit3-console.dll" , "nunit3-console.dll.config" , "nunit3-console.exe" , "nunit3-console.pdb" ,
22
+ "nunit3-console.deps.json" , "nunit3-console.runtimeconfig.json" , "nunit.console.nuget.addins" } ;
20
23
FilePath [ ] ENGINE_FILES = {
21
- "nunit.engine.dll" , "nunit.engine.core.dll" , "nunit.engine.api.dll" , "testcentric.engine.metadata.dll" } ;
24
+ "nunit.engine.dll" , "nunit.engine.core.dll" , "nunit.engine.api.dll" , "testcentric.engine.metadata.dll" } ;
22
25
FilePath [ ] ENGINE_PDB_FILES = {
23
- "nunit.engine.pdb" , "nunit.engine.core.pdb" , "nunit.engine.api.pdb" } ;
26
+ "nunit.engine.pdb" , "nunit.engine.core.pdb" , "nunit.engine.api.pdb" } ;
24
27
FilePath [ ] ENGINE_CORE_FILES = {
25
- "nunit.engine.core.dll" , "nunit.engine.api.dll" , "testcentric.engine.metadata.dll" } ;
28
+ "nunit.engine.core.dll" , "nunit.engine.api.dll" , "testcentric.engine.metadata.dll" } ;
26
29
FilePath [ ] ENGINE_CORE_PDB_FILES = {
27
- "nunit.engine.core.pdb" , "nunit.engine.api.pdb" } ;
30
+ "nunit.engine.core.pdb" , "nunit.engine.api.pdb" } ;
28
31
FilePath [ ] AGENT_FILES = {
29
- "nunit-agent.exe" , "nunit-agent.exe.config" ,
30
- "nunit-agent-x86.exe" , "nunit-agent-x86.exe.config" ,
31
- "nunit.engine.core.dll" , "nunit.engine.api.dll" , "testcentric.engine.metadata.dll" } ;
32
+ "nunit-agent.exe" , "nunit-agent.exe.config" ,
33
+ "nunit-agent-x86.exe" , "nunit-agent-x86.exe.config" ,
34
+ "nunit.engine.core.dll" , "nunit.engine.api.dll" , "testcentric.engine.metadata.dll" } ;
32
35
FilePath [ ] AGENT_FILES_NETCORE = {
33
- "nunit-agent.dll" , "nunit-agent.dll.config" ,
34
- "nunit.engine.core.dll" , "nunit.engine.api.dll" , "testcentric.engine.metadata.dll" ,
35
- "Microsoft.Extensions.DependencyModel.dll" } ;
36
+ "nunit-agent.dll" , "nunit-agent.dll.config" ,
37
+ "nunit.engine.core.dll" , "nunit.engine.api.dll" , "testcentric.engine.metadata.dll" ,
38
+ "Microsoft.Extensions.DependencyModel.dll" } ;
36
39
FilePath [ ] AGENT_PDB_FILES = {
37
- "nunit-agent.pdb" , "nunit-agent-x86.pdb" , "nunit.engine.core.pdb" , "nunit.engine.api.pdb" } ;
40
+ "nunit-agent.pdb" , "nunit-agent-x86.pdb" , "nunit.engine.core.pdb" , "nunit.engine.api.pdb" } ;
38
41
FilePath [ ] AGENT_PDB_FILES_NETCORE = {
39
- "nunit-agent.pdb" , "nunit.engine.core.pdb" , "nunit.engine.api.pdb" } ;
42
+ "nunit-agent.pdb" , "nunit.engine.core.pdb" , "nunit.engine.api.pdb" } ;
40
43
41
44
//////////////////////////////////////////////////////////////////////
42
45
// INDIVIDUAL PACKAGE DEFINITIONS
@@ -86,15 +89,24 @@ BuildSettings.Packages.AddRange(new PackageDefinition[] {
86
89
NUnitConsoleRunnerNetCorePackage = new DotNetToolPackage (
87
90
id : "NUnit.ConsoleRunner.NetCore" ,
88
91
source : BuildSettings . NuGetDirectory + "runners/nunit.console-runner.netcore.nuspec" ,
89
- checks : new PackageCheck [ ] { HasFiles ( "nunit.exe" ) } ,
92
+ checks : new PackageCheck [ ]
93
+ {
94
+ HasFiles ( "nunit.exe" ) ,
95
+ HasSomeDirectory ( ".store/nunit.consolerunner.netcore/**/tools/net6.0/any" )
96
+ . WithFiles ( ENGINE_FILES ) . AndFiles ( ConsoleFiles ) . AndFile ( "Microsoft.Extensions.DependencyModel.dll" )
97
+ } ,
90
98
testRunner : new ConsoleRunnerSelfTester ( BuildSettings . NuGetTestDirectory
91
99
+ $ "NUnit.ConsoleRunner.NetCore.{ BuildSettings . PackageVersion } /nunit.exe") ,
92
100
tests : NetCoreRunnerTests ) ,
93
101
94
102
NUnitConsoleRunnerNet80Package = new DotNetToolPackage (
95
103
id : "NUnit.ConsoleRunner.Net80" ,
96
104
source : BuildSettings . NuGetDirectory + "runners/nunit.console-runner.net80.nuspec" ,
97
- checks : new PackageCheck [ ] { HasFiles ( "nunit-net80.exe" ) } ,
105
+ checks : new PackageCheck [ ] {
106
+ HasFiles ( "nunit-net80.exe" ) ,
107
+ HasSomeDirectory ( ".store/nunit.consolerunner.net80/**/tools/net8.0/any" )
108
+ . WithFiles ( ENGINE_FILES ) . AndFiles ( ConsoleFiles ) . AndFile ( "Microsoft.Extensions.DependencyModel.dll" )
109
+ } ,
98
110
testRunner : new ConsoleRunnerSelfTester ( BuildSettings . NuGetTestDirectory
99
111
+ $ "NUnit.ConsoleRunner.Net80.{ BuildSettings . PackageVersion } /nunit-net80.exe") ,
100
112
tests : NetCoreRunnerTests ) ,
@@ -147,13 +159,19 @@ BuildSettings.Packages.AddRange(new PackageDefinition[] {
147
159
HasFiles ( "LICENSE.txt" , "NOTICES.txt" ) ,
148
160
HasDirectory ( "lib/net462" ) . WithFiles ( ENGINE_FILES ) ,
149
161
HasDirectory ( "lib/netstandard2.0" ) . WithFiles ( ENGINE_FILES ) ,
162
+ HasDirectory ( "lib/net6.0" ) . WithFiles ( ENGINE_FILES ) . AndFile ( "Microsoft.Extensions.DependencyModel.dll" ) ,
163
+ HasDirectory ( "lib/net8.0" ) . WithFiles ( ENGINE_FILES ) . AndFile ( "Microsoft.Extensions.DependencyModel.dll" ) ,
150
164
HasDirectory ( "contentFiles/any/lib/net462" ) . WithFile ( "nunit.engine.nuget.addins" ) ,
151
165
HasDirectory ( "contentFiles/any/lib/netstandard2.0" ) . WithFile ( "nunit.engine.nuget.addins" ) ,
166
+ HasDirectory ( "contentFiles/any/lib/net6.0" ) . WithFile ( "nunit.engine.nuget.addins" ) ,
167
+ HasDirectory ( "contentFiles/any/lib/net8.0" ) . WithFile ( "nunit.engine.nuget.addins" ) ,
152
168
HasDirectory ( "contentFiles/any/agents/net462" ) . WithFiles ( AGENT_FILES ) . AndFile ( "nunit.agent.addins" )
153
169
} ,
154
170
symbols : new PackageCheck [ ] {
155
171
HasDirectory ( "lib/net462" ) . WithFiles ( ENGINE_PDB_FILES ) ,
156
172
HasDirectory ( "lib/netstandard2.0" ) . WithFiles ( ENGINE_PDB_FILES ) ,
173
+ HasDirectory ( "lib/net6.0" ) . WithFiles ( ENGINE_PDB_FILES ) ,
174
+ HasDirectory ( "lib/net8.0" ) . WithFiles ( ENGINE_PDB_FILES ) ,
157
175
HasDirectory ( "contentFiles/any/agents/net462" ) . WithFiles ( AGENT_PDB_FILES )
158
176
} ) ,
159
177
@@ -171,6 +189,68 @@ BuildSettings.Packages.AddRange(new PackageDefinition[] {
171
189
} )
172
190
} ) ;
173
191
192
+ // Adhoc code to check content of a dotnet standalone executable
193
+ // TODO: Incorporate this in the recipe itself
194
+
195
+ private static ExtendedDirectoryCheck HasSomeDirectory ( string pattern ) => new ExtendedDirectoryCheck ( pattern ) ;
196
+
197
+ public class ExtendedDirectoryCheck : PackageCheck
198
+ {
199
+ private string _directoryPattern ;
200
+ private List < FilePath > _files = new List < FilePath > ( ) ;
201
+
202
+ public ExtendedDirectoryCheck ( string directoryPattern )
203
+ {
204
+ // Assume it has no wildcard - checked in ApplyTo method
205
+ _directoryPattern = directoryPattern ;
206
+ }
207
+
208
+ public ExtendedDirectoryCheck WithFiles ( params FilePath [ ] files )
209
+ {
210
+ _files . AddRange ( files ) ;
211
+ return this ;
212
+ }
213
+
214
+ public ExtendedDirectoryCheck AndFiles ( params FilePath [ ] files )
215
+ {
216
+ return WithFiles ( files ) ;
217
+ }
218
+
219
+ public ExtendedDirectoryCheck WithFile ( FilePath file )
220
+ {
221
+ _files . Add ( file ) ;
222
+ return this ;
223
+ }
224
+
225
+ public ExtendedDirectoryCheck AndFile ( FilePath file )
226
+ {
227
+ return AndFiles ( file ) ;
228
+ }
229
+
230
+ public override bool ApplyTo ( DirectoryPath testDirPath )
231
+ {
232
+ if ( _directoryPattern . Contains ( '*' ) || _directoryPattern . Contains ( '?' ) ) // Wildcard
233
+ {
234
+ var absDirPattern = testDirPath . Combine ( _directoryPattern ) . ToString ( ) ;
235
+ foreach ( var dir in _context . GetDirectories ( absDirPattern ) )
236
+ {
237
+ // Use first one found
238
+ return CheckFilesExist ( _files . Select ( file => dir . CombineWithFilePath ( file ) ) ) ;
239
+ }
240
+ }
241
+ else // No wildcard
242
+ {
243
+ var absDirPath = testDirPath . Combine ( _directoryPattern ) ;
244
+ if ( ! CheckDirectoryExists ( absDirPath ) )
245
+ return false ;
246
+
247
+ return CheckFilesExist ( _files . Select ( file => absDirPath . CombineWithFilePath ( file ) ) ) ;
248
+ }
249
+
250
+ return false ;
251
+ }
252
+ }
253
+
174
254
//////////////////////////////////////////////////////////////////////
175
255
// TEST RUNNERS
176
256
//////////////////////////////////////////////////////////////////////
0 commit comments