Skip to content

Eliminate DomainUsage setting #860

@CharliePoole

Description

@CharliePoole

In a separate discussion, @ChrisMaddock expressed the desire to eliminate user control of how the runner and engine use AppDomains. I've been through the codebase to look at the impact and I can see it would enormously simplify a lot of code, particularly the test code. This issue is for the purpose of opening discussion on making the change. I'm flagging it as an idea for discussion by the @nunit/engine-team.

Some notes...

  1. We can't eliminate AppDomains themselves for some platforms, they are needed. However, we can make their use an internal implementation detail outside of the control of users.
  2. The command-line --domain option would be dropped.
  3. The DomainUsage enumeration would be dropped.
  4. Both the saved setting and the package setting for DomainUsage would disappear.
  5. All the tests that utilize DomainUsage would be eliminated.
  6. I believe that the nunit project loader would simply ignore the domain setting in .nunit files, but this would have to be tested.
  7. The nunit project loader should probably be modified at some point.
  8. This is a breaking change for the console, engine and nunit project loader extension.

FWIW, I favor doing this as part of a 4.0 release that resolves all the breaking issues we currently have, without necessarily adding a lot of new functionality. The new stuff can come in 4.1, 4.2, etc.

@ChrisMaddock Hope you don't mind that I added a new "breaking" label. 😄

Metadata

Metadata

Assignees

Labels

Breaking ChangeV4All issues related to V4 or later - use -label:V4 to get V3 issues

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions