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

Ensure Loggers use late bound TraceLevel and Writer. #1587

Closed
wants to merge 230 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
230 commits
Select commit Hold shift + click to select a range
8464391
Remove RecentFilesService
CharliePoole Feb 7, 2022
e76c0b2
Remove SettingsService
CharliePoole Feb 7, 2022
1d21d69
Eliminate DomainUsage
CharliePoole Feb 8, 2022
6d3ce0c
Refactor: Eliminate InProcessTestRunnerFactory class
CharliePoole Feb 8, 2022
50f20b5
Refactor: Remove NUnitConfiguration class
CharliePoole Feb 8, 2022
023ca71
Remove unused methods
CharliePoole Feb 8, 2022
a6eacf3
Allow running tests of just one package or just one test
CharliePoole Feb 9, 2022
b9cd4ec
Changes to TestPackage constructor
CharliePoole Feb 9, 2022
a7be3ce
Refactor tests
CharliePoole Feb 9, 2022
f39d5ce
Eliminate --process and --inprocess command-line options
CharliePoole Feb 9, 2022
9aac25c
Eliminate ProcessModel package setting
CharliePoole Feb 10, 2022
1cf74fd
Refactor and simplify TestRunnerFactory tests
CharliePoole Feb 10, 2022
a7db5d5
Merge pull request #1131 from nunit/issue-874
CharliePoole Feb 10, 2022
5054520
Merge pull request #1132 from nunit/issue-873
CharliePoole Feb 10, 2022
ba2751c
Merge pull request #1133 from nunit/issue-860
CharliePoole Feb 11, 2022
46198ba
Merge pull request #1134 from nunit/issue-889
CharliePoole Feb 11, 2022
1f2b8b9
Ensure we can run tests that use nunit.framework 4
CharliePoole Feb 11, 2022
94a05df
Set next version to 4.0.0
CharliePoole Feb 11, 2022
8045464
Merge pull request #1135 from nunit/nunit4-support
CharliePoole Feb 11, 2022
b88101d
Merge pull request #1136 from nunit/issue-861
CharliePoole Feb 11, 2022
cc5a7e7
Make DriverService use ExtensionManager rather than ExtensionService
CharliePoole Feb 2, 2022
1aa0be5
Make DriverService no longer a service... just a class
CharliePoole Feb 12, 2022
8a3e7be
Eliminate references to ExtensionService in engine core and agent
CharliePoole Feb 12, 2022
64b2d5b
Move ExtensionService from engine core to engine
CharliePoole Feb 12, 2022
d287617
Remove dependency of engine on CoreEngine; Move Server class to engine
CharliePoole Feb 13, 2022
ab2dad7
Remove CoreEngine completely
CharliePoole Feb 13, 2022
4a547f9
Move ServiceManager and ServiceContext to engine
CharliePoole Feb 13, 2022
dbf5aaf
Clean up
CharliePoole Feb 13, 2022
b20adfe
Merge pull request #1138 from nunit/issue-1122
CharliePoole Feb 14, 2022
3897583
Merge pull request #1140 from nunit/issue-934
CharliePoole Feb 14, 2022
83847a8
Initial restructuring of runners
CharliePoole Feb 15, 2022
b949b42
Rename DefaultTestRunnerFactory
CharliePoole Feb 16, 2022
be21167
Eliminate AbstractTestRunner class
CharliePoole Feb 16, 2022
1422be5
Modify global.json rollforward to use feature
CharliePoole Feb 16, 2022
fc91f3d
Move ITestRunnerFactory to engine
CharliePoole Feb 16, 2022
81a2b12
Clean up DriverService tests
CharliePoole Feb 16, 2022
c29669e
Merge pull request #1142 from nunit/issue-1141
CharliePoole Feb 17, 2022
d6bce62
Remove three extensions from those bundled
CharliePoole Feb 17, 2022
8891b31
Merge pull request #1143 from nunit/stop-bundling
CharliePoole Feb 17, 2022
eee7fbb
Change labels options
CharliePoole Feb 17, 2022
030087c
Merge pull request #1144 from nunit/issue-891
CharliePoole Feb 17, 2022
b267ade
Change --timeout option to --testCaseTimeout
CharliePoole Feb 17, 2022
bd09c70
Disallow support-xxx branches
CharliePoole Feb 17, 2022
4bf3476
Merge pull request #1146 from nunit/issue-1137
CharliePoole Feb 17, 2022
33505d6
Merge pull request #1145 from nunit/issue-890
CharliePoole Feb 17, 2022
2a90609
Update NSubstitute to 4.3.0, except for net3.5 builds
CharliePoole Feb 17, 2022
d814a8a
Stop doing azure build until we resolve hanging problems
CharliePoole Feb 17, 2022
969b015
Merge pull request #1147 from nunit/no-azure-build
CharliePoole Feb 18, 2022
31e605c
Merge pull request #1148 from nunit/issue-1117
CharliePoole Feb 18, 2022
cac026e
Eliminate nunit.engine.addins file
CharliePoole Feb 20, 2022
d4e2a70
Merge pull request #1153 from nunit/issue-1152
CharliePoole Feb 20, 2022
a918372
Bundle nunit project loader 4.0 dev build
CharliePoole Feb 21, 2022
2cb1c3b
Merge pull request #1155 from nunit/issue-1154
CharliePoole Feb 21, 2022
dd71d78
Allow finding VS2022 preview when VS2019 is installed.
manfred-brands Feb 22, 2022
97b2951
Added mock-assembly-nunit4 for testing against version 4 of NUnit
manfred-brands Feb 22, 2022
584ae4f
Merge pull request #1156 from manfred-brands/issue1139-add-nunit4-tests
CharliePoole Feb 22, 2022
a88445e
Move solution folder to correct location
CharliePoole Feb 23, 2022
9317491
Standardize namespaces: nunit.engine.core.tests
CharliePoole Feb 23, 2022
d968db2
Merge pull request #1157 from nunit/issue-1139b
CharliePoole Feb 23, 2022
d62f303
Merge pull request #1158 from nunit/issue-258a
CharliePoole Feb 23, 2022
31f4dcc
Standardize namespaces: nunit.engine.tests
CharliePoole Feb 23, 2022
4067b98
Merge pull request #1160 from nunit/issue-258b
CharliePoole Feb 23, 2022
ed9342d
Standardize namespaces: nunit3-console and nunit3-console.tests
CharliePoole Feb 24, 2022
e61e0e0
Merge pull request #1161 from nunit/issue-258c
CharliePoole Feb 25, 2022
72c1b05
Standardize namespaces: Move test data to separate space and folder
CharliePoole Feb 25, 2022
f9b1ea4
Merge pull request #1162 from nunit/issue-258d
CharliePoole Feb 25, 2022
56939b2
Remove unsupported settings from nunit projects
CharliePoole Feb 27, 2022
44f2521
Merge pull request #1163 from nunit/nunit-projects
CharliePoole Feb 27, 2022
f7d910b
Rename runner as nunit-console.exe
CharliePoole Feb 27, 2022
16d0b57
Merge pull request #1164 from nunit/issue-1149
CharliePoole Feb 27, 2022
96e7d7a
#1166 use app manifest
johannes-schmitt Feb 28, 2022
d03da88
Eliminate construction of RuntimeFramework using CLR version - caller…
CharliePoole Feb 28, 2022
eac56c6
Eliminate DefaultVersion - caller must specify a valid framework version
CharliePoole Mar 1, 2022
f09f6da
Eliminate RuntimeType.Any; caller must know the runtime type to crete…
CharliePoole Mar 1, 2022
a5b701c
Replace RuntimeType enum with Runtime class
CharliePoole Mar 1, 2022
e154d87
Merge pull request #1169 from johannes-schmitt/1166-add-application-m…
CharliePoole Mar 1, 2022
12d2856
Refactor Runtime and RuntimeFramework
CharliePoole Mar 1, 2022
d94f6f9
Move Runtime availability methods from RuntimeFramework to RuntimeFra…
CharliePoole Mar 2, 2022
dbf1de7
Create partial backport of RuntimeInformation class
CharliePoole Mar 2, 2022
8e95d83
Remove use of RuntimeFramework class by ExtensionManager
CharliePoole Mar 2, 2022
16ff16d
Remove remaining references to RuntimeFramework from core assembly
CharliePoole Mar 6, 2022
b9dc96f
Move RuntimeFramework to engine assembly
CharliePoole Mar 6, 2022
6f94fd2
Move CurrentFramework property to RuntimeFrameworkService
CharliePoole Mar 7, 2022
b5e2ed3
Fix Linux and Mac builds
CharliePoole Mar 7, 2022
6a3b367
Merge pull request #1170 from nunit/issue-1168
CharliePoole Mar 7, 2022
f3733f2
Stop building under azure temporarily
CharliePoole Mar 7, 2022
167ca91
Fix error in azure yml
CharliePoole Mar 7, 2022
4187d0a
Changes to test parameters
CharliePoole Feb 19, 2022
482095a
Allow quoted values
CharliePoole Feb 19, 2022
6b97df5
Add test of package settings
CharliePoole Feb 20, 2022
ae1cb7a
Improve display of run settings
CharliePoole Feb 20, 2022
0688bea
Fix error in test
CharliePoole Feb 20, 2022
d54f85c
Merge pull request #1151 from nunit/issue-888
CharliePoole Mar 7, 2022
72a3da0
Fix error in DomainManagerTests
CharliePoole Mar 8, 2022
ae2763a
Fix path for Linux
CharliePoole Mar 9, 2022
7efc985
Merge pull request #1171 from nunit/issue-17
CharliePoole Mar 9, 2022
5d2ccce
Fix console output alignment
CharliePoole Mar 9, 2022
cd8e03a
Merge pull request #1172 from nunit/issue-772
CharliePoole Mar 9, 2022
8502562
Update Runtime.cs
YuhanKun Mar 19, 2022
0d5ea36
Merge pull request #1175 from YuhanKun/patch-1
CharliePoole Mar 23, 2022
d5648b9
Removed ClrVersion from RuntimeFramework
manfred-brands Mar 31, 2022
100b434
Merge pull request #1179 from manfred-brands/issue/1176_RuntimeFramework
CharliePoole Mar 31, 2022
32cd268
Put agent path in quotes
CharliePoole Aug 12, 2022
2d09c05
Merge pull request #1209 from nunit/issue-1206b
CharliePoole Aug 12, 2022
abd0fb9
Apply fix for issue 1178 to 4.0 build
CharliePoole Sep 12, 2022
886f2a1
Merge pull request #1214 from nunit/issue-1178b
CharliePoole Sep 12, 2022
349ca24
Move agent projects to a subfolder in preparation for creating more p…
CharliePoole Sep 17, 2022
2efd281
Split nunit-engine-x86 project into two projects
CharliePoole Sep 17, 2022
23a5677
Split nunit-agent project into five projects
CharliePoole Sep 17, 2022
f0f8211
Merge pull request #1218 from nunit/issue-877
CharliePoole Sep 17, 2022
6c1a693
Update release notes url
scribblemaniac Oct 6, 2022
40135f6
Merge pull request #1234 from scribblemaniac/changes-url-update
CharliePoole Oct 7, 2022
62540ba
update readme link
Arhell Oct 9, 2022
487ff6e
Merge pull request #1237 from Arhell/upd
CharliePoole Oct 9, 2022
f98dc2e
update links
Arhell Oct 12, 2022
d5d6fd6
Merge pull request #1239 from Arhell/upd-link
CharliePoole Oct 12, 2022
b9a438d
WIP
CharliePoole Nov 1, 2022
4d8ce2a
Port fixes 1244 and 1232 to v4
CharliePoole Nov 4, 2022
463e8ce
Merge pull request #1259 from nunit/issue-1258
CharliePoole Nov 4, 2022
4c0b84f
Eliminate net5.0 and net6.0 builds of nunit.engine.core
CharliePoole Nov 5, 2022
1187b1c
Merge pull request #1260 from nunit/issue-1258b
CharliePoole Nov 5, 2022
1ccbcf5
Include .NET Core 3.1 build of engine in engine package
CharliePoole Nov 6, 2022
1cbb6cc
Merge pull request #1261 from nunit/port-1225
CharliePoole Nov 6, 2022
49fe437
Check for valid requested runtime; refactor options validation
CharliePoole Nov 6, 2022
22433db
Fix test error
CharliePoole Nov 6, 2022
393da3e
Merge pull request #1263 from nunit/port-299
CharliePoole Nov 6, 2022
446e4eb
Avoid duplicate loading of dependent assemblies under the .NET Core r…
CharliePoole Nov 15, 2022
382e0b8
Disable x86 testing on AppVeyor
CharliePoole Nov 15, 2022
b04d509
Merge pull request #1270 from nunit/port-1217
CharliePoole Nov 15, 2022
d5436f7
Port fix for issue 1118 to 4.0 branch, restructuring binary output di…
CharliePoole Jan 3, 2023
6e03a5c
Merge pull request #1286 from nunit/port-1118
CharliePoole Jan 3, 2023
cb0fece
Add .NET 7.0 agent and tests
CharliePoole Jan 5, 2023
f69e6a5
Merge pull request #1287 from nunit/port-1216
CharliePoole Jan 5, 2023
d643ac1
Use dotnet --list-runtimes to identify installed sdks
CharliePoole Jan 6, 2023
70fddea
Merge pull request #1288 from nunit/port-941
CharliePoole Jan 6, 2023
3787aed
Fix hang when test processes fail to terminate correctly
CharliePoole Jan 6, 2023
acf7239
Merge pull request #1289 from nunit/port-1183
CharliePoole Jan 6, 2023
69dcaf6
Change runner exe name to nunit4-console
CharliePoole Jan 6, 2023
fe43c11
Merge pull request #1291 from nunit/issue-1290
CharliePoole Jan 6, 2023
e4b0673
Create separate project and executable for dotnet runner
CharliePoole Jan 6, 2023
173ba23
Merge pull request #1292 from nunit/port-1224
CharliePoole Jan 6, 2023
6e8b9e8
Allow Mono 4+ to run all .NET 4 versions
CharliePoole Jan 7, 2023
3b357db
Merge pull request #1293 from nunit/port-1130
CharliePoole Jan 7, 2023
3f854b2
Use Microsoft.Extensions.DependencyModel to locate dependencies
CharliePoole Jan 7, 2023
c756682
Merge pull request #1297 from nunit/port-291
CharliePoole Jan 7, 2023
20808ac
Don't throw an exception when encountering a .NET Standard assembly.
CharliePoole Jan 7, 2023
56ffef3
Merge pull request #1299 from nunit/port-1182
CharliePoole Jan 7, 2023
f11499a
Correctly load tests using Windows Forms or ASP .NET\
CharliePoole Jan 8, 2023
6549866
Merge pull request #1301 from nunit/port-1203
CharliePoole Jan 8, 2023
ccde0d0
Include Microsoft.Extensions.DependencyModel in NUnit.Engine package
CharliePoole Jan 8, 2023
089a515
Merge pull request #1302 from nunit/port-1275
CharliePoole Jan 8, 2023
a8d6c1b
Revise build scripts
CharliePoole Jan 10, 2023
05f8b64
Fix errors in AppVeyor build
CharliePoole Jan 11, 2023
44d3c48
Don't run .NET Core X86 tests on AppVeyor
CharliePoole Jan 11, 2023
90fc732
Merge pull request #1303 from nunit/port-1271
CharliePoole Jan 11, 2023
9ec2366
Restore ability to test packages under debugger
CharliePoole Jan 11, 2023
b5380ec
Merge pull request #1305 from nunit/port-1284
CharliePoole Jan 11, 2023
42745ad
Use NUnit-specific environment properties in build script
CharliePoole Jan 11, 2023
c53d4f7
Merge pull request #1306 from nunit/port-1296
CharliePoole Jan 11, 2023
485153d
fix assembly dependencies resolver for netcore
svg2003 Feb 12, 2023
b92df46
Merge pull request #1318 from svg2003/issue-1311-ver4
rprouse Feb 23, 2023
b01ad3e
Use custom context only (don't use assemblies, loaded into AppDomain).
svg2003 Apr 6, 2023
38d141e
renamed "_log" variable into "log"
svg2003 Apr 15, 2023
8f472b0
Merge pull request #1337 from svg2003/issue-1330-v4
OsirisTerje Apr 20, 2023
e065acf
Optimize WorkItemTracker
lahma Apr 23, 2023
af674ab
Detect the 'partition' token during filter element parsing
Plasma Jun 7, 2023
3c37047
Merge pull request #1338 from lahma/optimize-WorkItemTracker
OsirisTerje Oct 9, 2023
945090c
Merge pull request #1346 from Plasma/feature-partition-filter-main
OsirisTerje Oct 16, 2023
ccb2453
#1367: Enable longPathAware
Oct 20, 2023
462d9d2
Use same pattern for loading unmanaged assemblies as managed assemblies.
veleek Dec 15, 2023
887516a
Merge pull request #1370 from veleek/native-assembly-resolve
OsirisTerje Jan 3, 2024
c2d197b
Changes to make the main branch build again
CharliePoole May 27, 2024
3c597b3
Fix V4 build so it passes
CharliePoole May 28, 2024
305fe44
Changes from code review
CharliePoole May 31, 2024
6ab7411
Merge pull request #1408 from nunit/make-v4-build
CharliePoole Jun 2, 2024
7be1267
Enable running X86 tests under .NET Core
CharliePoole Jun 3, 2024
a58f2a9
Fix error running .NET Core X86 tests on AppVeyor
CharliePoole Jun 3, 2024
7fe82db
Merge pull request #1410 from nunit/issue-1369
CharliePoole Jun 5, 2024
c76b90f
Merge pull request #1368 from poklau/issue-1367
CharliePoole Jun 11, 2024
c147370
Make runners and agents long-path-aware for v4
CharliePoole Jun 12, 2024
9f71ec2
Merge branch 'version4' into issue-1367-v4
CharliePoole Jun 12, 2024
4c78c9e
Merge pull request #1420 from nunit/issue-1367-v4
CharliePoole Jun 12, 2024
f838893
Update c# language level to 11
CharliePoole Dec 15, 2024
346e600
Get the V4 build working once again
CharliePoole Dec 16, 2024
3565d7c
Suppress failing test
CharliePoole Dec 16, 2024
4664d08
Suppress failing test fixture
CharliePoole Dec 16, 2024
5442ff6
Merge pull request #1543 from nunit/issue-1541
CharliePoole Dec 16, 2024
c79f602
Merge branch 'version4' of https://github.com/nunit/nunit-console int…
CharliePoole Dec 16, 2024
9137dcf
Build using NUnit.Cake.Recipe
CharliePoole Dec 17, 2024
97b484f
Merge pull request #1546 from nunit/issue-1542
CharliePoole Dec 20, 2024
00a2ae0
Update readme to list .NET Core Runner
CharliePoole Dec 21, 2024
7d32a0d
Merge pull request #1548 from nunit/port-1508
CharliePoole Dec 21, 2024
0bf571e
Port issue 1507 from 3.19 release
CharliePoole Dec 21, 2024
3887e1b
Merge pull request #1550 from nunit/port-1507
CharliePoole Dec 21, 2024
76c5f0e
Port issues 1504 and 488 from 3.19
CharliePoole Dec 22, 2024
751270f
Merge pull request #1551 from nunit/port-488
CharliePoole Dec 22, 2024
23cc68c
Change development builds to use the alpha label
CharliePoole Dec 23, 2024
3376740
Merge pull request #1553 from nunit/port-1545
CharliePoole Dec 23, 2024
c5956c0
chore: Change C# Language version to 12
mikkelbu Dec 26, 2024
03fca28
Update recipe to version 1.3.0-alpha.6
CharliePoole Dec 26, 2024
2c79c45
Merge pull request #1558 from nunit/updt-recipe
CharliePoole Dec 26, 2024
f6a4920
Update recipe to version 1.3.0
CharliePoole Dec 27, 2024
3aa1b87
Merge pull request #1560 from nunit/updt-recipe
CharliePoole Dec 27, 2024
3b80cf8
Merge pull request #1556 from nunit/chore/bump-cs-lang-version
mikkelbu Dec 27, 2024
00fd96e
Use version 8 dependency model with .NET 8.0
CharliePoole Dec 27, 2024
f811362
Merge pull request #1566 from nunit/port-1324
CharliePoole Dec 27, 2024
0ee6883
Output clarifies which console runner is in use
CharliePoole Dec 27, 2024
9c202f9
Merge pull request #1568 from nunit/port-1481
CharliePoole Dec 27, 2024
ae83910
Add tests for AddinsFile class
CharliePoole Dec 27, 2024
6be9b12
Merge pull request #1569 from nunit/port-1415
CharliePoole Dec 28, 2024
e067c46
Port issue 1381 to V4
CharliePoole Dec 28, 2024
0d536b0
Merge pull request #1571 from nunit/port-1381
CharliePoole Dec 28, 2024
21e5ff5
Port issue 1488 to V4
CharliePoole Dec 28, 2024
acef844
Merge pull request #1572 from nunit/port-1488
CharliePoole Dec 28, 2024
c26d339
Port issue 1466 to V4
CharliePoole Dec 28, 2024
26dd67e
Merge pull request #1573 from nunit/port-1466
CharliePoole Dec 28, 2024
3bff88a
Port issue 1465 to V4
CharliePoole Dec 28, 2024
307f3a2
Merge pull request #1574 from nunit/port-1465
CharliePoole Dec 28, 2024
90301b7
Port issue 1468 to V4
CharliePoole Dec 29, 2024
176c5ac
Merge pull request #1575 from nunit/port-1468
CharliePoole Dec 29, 2024
e712548
Drop ref to nunit.engine
CharliePoole Dec 29, 2024
ac88ae3
Merge pull request #1577 from nunit/issue-1576
CharliePoole Dec 29, 2024
43e62bc
WIP
CharliePoole Dec 30, 2024
85a67eb
Remove outdated scripts; update BUILDING.md; drop zip package
CharliePoole Dec 31, 2024
17b1783
Merge pull request #1583 from nunit/issue-1581
CharliePoole Dec 31, 2024
ffd8198
Change runner exe names; change chocolatey package name
CharliePoole Dec 31, 2024
746de61
Merge pull request #1584 from nunit/issue-1149
CharliePoole Dec 31, 2024
fec6501
Update TestCentric.Metadata to version 3.0.3
CharliePoole Jan 1, 2025
b1f08dc
Merge pull request #1585 from nunit/updt-tcmeta
CharliePoole Jan 1, 2025
cce6f59
Ensure Loggers use late bound `TraceLevel` and `Writer`.
manfred-brands Jan 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .config/dotnet-tools.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"isRoot": true,
"tools": {
"cake.tool": {
"version": "2.0.0",
"version": "5.0.0",
"commands": [
"dotnet-cake"
]
Expand Down
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# maintain consistent coding styles between
# different editors and IDEs

# http://EditorConfig.org
# https://EditorConfig.org

# top-most EditorConfig file
root = true
Expand Down
78 changes: 78 additions & 0 deletions .github/workflows/NUnitConsoleAndEngine.CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: NUnitConsoleAndEngine.CI

on:
workflow_dispatch:
pull_request:
push:
branches-ignore:
- "azure-*"
paths-ignore:
- "*.txt"
- "*.md"

env:
DOTNET_NOLOGO: true # Disable the .NET logo
DOTNET_CLI_TELEMETRY_OPTOUT: true # Disable sending .NET CLI telemetry

jobs:
ContinuousIntegration:
name: Continuous Integration
runs-on: windows-latest

env:
MYGET_API_KEY: ${{ secrets.PUBLISH_MYGET_ORG }}
NUGET_API_KEY: ${{ secrets.PUBLISH_NUGET_ORG }}
CHOCO_API_KEY: ${{ secrets.PUBLISH_CHOCOLATEY_ORG }}
GITHUB_ACCESS_TOKEN: ${{ secrets.GH_ACCESS_CP }}

steps:
- name: ⤵️ Checkout Source
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 🛠️ Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
3.1.x
6.0.x
8.0.100

- name: 🔧 Install dotnet tools
run: dotnet tool restore

- name: 🍰 Run cake
env:
MYGET_API_KEY: ${{ secrets.PUBLISH_MYGET_ORG }}
NUGET_API_KEY: ${{ secrets.PUBLISH_NUGET_ORG }}
CHOCO_API_KEY: ${{ secrets.PUBLISH_CHOCOLATEY_ORG }}
GITHUB_ACCESS_TOKEN: ${{ secrets.GH_ACCESS_CP }}

# If you need to get more verbose logging, add the following to the dotnet-cake above: --verbosity=diagnostic
run: dotnet cake --target=ContinuousIntegration --configuration=Release

- name: 🪵 Upload build logs
if: always()
uses: actions/upload-artifact@v4
with:
name: NUnitConsoleLogs
# This path is defined in build-settings.cake
path: "build-results/*.binlog"
# if-no-files-found: error

- name: 🪵 Upload InternalTrace logs
if: always()
uses: actions/upload-artifact@v4
with:
name: InternalTraceLogs
# This path is defined in build-settings.cake
path: "*.log"
# if-no-files-found: error

- name: 💾 Upload test results
uses: actions/upload-artifact@v4
if: always()
with:
name: "Test Results"
path: test-results
33 changes: 33 additions & 0 deletions .github/workflows/PublishDraftRelease.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Publish Draft Release on GitHub

on:
workflow_dispatch:
inputs:
packageVersion:
description: "Package version for release (must match an existing milestone)"
required: true
type: string

jobs:
draft-release:
runs-on: ubuntu-latest

steps:
- name: ⤵️ Checkout Source
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: 🛠️ Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.100

- name: 🛠️ Install dotnet tools
run: dotnet tool restore

- name: 🔨 Create Draft Release
env:
GITHUB_ACCESS_TOKEN: ${{ secrets.GH_ACCESS_CP }}

run: dotnet cake --target=CreateDraftRelease --packageVersion="${{ inputs.packageVersion }}"
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,12 @@ tools
!tools/packages.config
bundled-extensions

# =========================
# NUnit 3 Directories not used in NUnit 4
# =========================
nunit3-console
nunit3-netcore-console

# =========================
# Docker Mono build packages
# =========================
Expand Down
47 changes: 21 additions & 26 deletions BUILDING.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
# Building NUnit 3 Console and Engine

NUnit 3 consists of three separate layers: the Framework, the Engine and the Console Runner. This
repository contains the Engine and Console Runner. The source code is kept in the GitHub repository
at https://github.com/nunit/nunit-console. Source for the framework can be found
at https://github.com/nunit/nunit
NUnit 3 consists of three separate layers: the Framework, the Engine and the Console Runner. This repository contains the Engine and Console Runner. The source code is kept in the GitHub repository at https://github.com/nunit/nunit-console. Source for the framework can be found at https://github.com/nunit/nunit

Note that assemblies in one layer must not reference those in any other layer, except as follows:
* The console runner references the nunit.engine.api assembly, but not the nunit.engine assembly.
Expand All @@ -15,41 +12,39 @@ See also [Building and testing for Linux on a Windows machine](#building-and-tes

## Prerequisites

- Visual Studio 2017 Update 5 or newer to build on Windows
- .NET 4.5+ or Mono 5.10.0+
- .NET Core 1.1.6 or newer
- Visual Studio 2022 or newer to build on Windows
- .NET 8.0 or newer

## Solution Build

All projects are built together using a single Visual Studio solution NUnitConsole.sln, which may be
built with Visual Studio or on the command line using Cake. The projects all place their output in
a common bin directory.

The solution build is useful for verifying that everything builds correctly but doesn't create packages or run any tests. Developers working on this project are advised to run the build script periodically.

## Build Script

We use **Cake** (http://cakebuild.net) to build NUnit for distribution. The primary script that controls
building, running tests and packaging is build.cake. We modify build.cake when we need to add new
targets or change the way the build is done. Normally build.cake is not invoked directly but through
build.ps1 (on Windows) or build.sh (on Linux). These two scripts are provided by the Cake project
and ensure that Cake is properly installed before trying to run the cake script. This helps the
build to work on CI servers using newly created agents to run the build and we generally run it
the same way on our own machines.

Key arguments to build.cmd / build.ps1 / build.sh :
* --target=<task> The task to run (default is Build)
* --configuration=[Release|Debug] The configuration to use (default is Release)

The build.cake script contains a large number of interdependent tasks. The most
important top-level tasks to use are listed here:
We use **Cake** (https://cakebuild.net) to build NUnit for distribution. Our standard script targets are all wrapped in what **Cake** calls a recipe. `NUnit.Cake.Recpe` is currently used for building the runner, engine and a number of our extensions. To see all the various targets and options our recipe supports, enter `build --usage` at the command-line. **Note:** We cannot use `--help` because **Cake** uses that option for it's own help.

The primary script that sets our options for building, running tests and packaging is `build.cake`. To reduce the size of `build.cake`, our package test definitions are included from a separate file, `package-tests.cake`. There are two places in the script where we specify options.

```
* Build Builds everything. This is the default if no target is given.
* Test Runs all unit tests. Dependent on Build.
* Package Builds, Verifies and Tests all packages. Dependent on Build.
```
1. In the call to `BuildSettings.Initialize`, general options for he entire build are given. Eventually, we hope to add a help screen that explains the available options. At this time, you will need to examine the [source code](https://github.com/nunit/NUnit.Cake.Recipe/blob/main/recipe/build-settings.cake).
2. Our packages are all defined in `build.cake` by instantiating objects of type `NuGetPackage` or `ChocolateyPackage`. Once again, for documentation of available constructor arguments, you should examine the code for [NuGetPackage](https://github.com/nunit/NUnit.Cake.Recipe/blob/main/recipe/nuget-package.cake) and [ChocolatePackage](https://github.com/nunit/NUnit.Cake.Recipe/blob/main/recipe/chocolatey-package.cake).

The build is normally started by running `build` or `build.ps1` on Windows or `build.sh` on Linux. The three comands are functionally identical. They check that the necessary software is installed and then run `dotnet cake`. When running on a local machine where you know that everything is properly installed, you may use `dotnet cake` directly but it should not be used on uninitialized build agents.

For development purposes, the usual commands to run are...
* `build` alone, to simply compile everything.
* `build -t Test` to compile and run unit tests.
* `build -t Package` to compile, create packages and test them.
* `build -t Test -t Package` to compile, unit test and create and test packages.

### Building and testing for Linux on a Windows machine

> _**NOTE:** Instructions in this section have not yet been verified on the latest build of the console and engine.
If you find problems, please file an issue._

Most of the time, it's not necessary to build or run tests on platforms other than your primary
platform. The continuous integration which runs on every PR is enough to catch any problems.

Expand Down
2 changes: 1 addition & 1 deletion CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
For the latest list of changes to the NUnit Console Runner, please see the Console and Engine release notes on the NUnit Docs site at https://docs.nunit.org/articles/nunit/release-notes/console-and-engine.html
For the latest list of changes to the NUnit Console Runner, please see the Console and Engine release notes on the NUnit Docs site at https://docs.nunit.org/articles/nunit-engine/release-notes.html
5 changes: 3 additions & 2 deletions GitVersion.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
next-version: 3.14.0
next-version: 4.0.0
mode: ContinuousDelivery
legacy-semver-padding: 5
build-metadata-padding: 5
commits-since-version-source-padding: 5
branches:
master:
tag: dev
regex: ^(main|version4)$
tag: alpha
release:
tag: pre
pull-request:
Expand Down
11 changes: 11 additions & 0 deletions MixedTests.nunit
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<NUnitProject>
<Settings processModel="Default" domainUsage="Default" />
<Config name="Debug" appbase="bin/Debug">
<assembly path="testdata/net462/mock-assembly.dll" />
<assembly path="testdata/net6.0/mock-assembly.dll" />
</Config>
<Config name="Release" appbase="bin/Release">
<assembly path="testdata/net462/mock-assembly.dll" />
<assembly path="testdata/net6.0/mock-assembly.dll" />
</Config>
</NUnitProject>
4 changes: 2 additions & 2 deletions MockCppAssemblies.sln
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mock-cpp-clr-x64", "src\NUnitEngine\mock-cpp-clr\mock-cpp-clr-x64.vcxproj", "{FFF45826-991F-465B-8A03-0E1DB7E8F38C}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mock-cpp-clr-x64", "src\TestData\mock-cpp-clr\mock-cpp-clr-x64.vcxproj", "{FFF45826-991F-465B-8A03-0E1DB7E8F38C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mock-cpp-clr-x86", "src\NUnitEngine\mock-cpp-clr\mock-cpp-clr-x86.vcxproj", "{11640C9F-03A3-456B-848D-9B4A126F9506}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mock-cpp-clr-x86", "src\TestData\mock-cpp-clr\mock-cpp-clr-x86.vcxproj", "{11640C9F-03A3-456B-848D-9B4A126F9506}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down
Loading
Loading