nunit / nunit/nunit-console

Load/UnLoad packages in parallel

Open
#132 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature Needs Design V4Plus
Dominant language
C#
Stars
234
Forks
163
Avg merge
13h 32m
Merged PRs (30d)
25

Description

When using multiple process / domains it would be nice to have them load/unload in parallel instead of serially. For large test suites with many dlls this can be a large performance gain.

See AggregatingTestRunner

We could take this a step further and make all operations run in parallel, the additional missing ones would be

  • CountTestCases
  • Explore
  • Dispose

I'd be happy to take this work on after some discussion here

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the AggregatingTestRunner implementation at src/NUnitEngine/nunit.engine/Runners/AggregatingTestRunner.cs, especially lines 92-113. Review how package loading and unloading are currently coordinated, then consider the additional CountTestCases, Explore, and Dispose operations named in the issue. Done means the relevant operations run in parallel without breaking multi-process or multi-domain test execution.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.