Skip to content

More robust loading of agent launchers #1728

@CharliePoole

Description

@CharliePoole

Pluggable agents generally contain two assemblies, the launcher and the agent itself. TestAgency loads the launcher in it's own context and launcher starts the separate agent executable as a separate process. This means that the agent is independent of the engine, as intended. It uses whatever versions of nunit.engine.api, nunit.agent.core, etc. with which it was initially built.

It was initially thought that loading the launcher in the context of the engine and runner wouldn't cause problems. But that isn't the case. See issue #1727 for a very simple change that breaks all our launchers.

It would be a substantial improvement to the design if we were able to use launchers in their own context, with the same dependencies with which they were built. Ideally, we could do this by changing the engine alone but if necessary we could modify the existing agents and re-release them if necessary, before we create any more of them.

Metadata

Metadata

Assignees

Labels

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

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions