I have many large suites of parallel tests (assembly-level Parallelizable(ParallelScope.Fixtures), LevelOfParallelism not specified).
I have an 8-core CPU.
When I run my tests via "nunit3-console --workers:8", it all behaves as expected (the errors are due to multithreading issues that I'm currently working through):
====
Run Settings
InternalTraceLevel: Verbose
WorkDirectory: c:\workspace\Testing
NumberOfTestWorkers: 8
Verbose: True
Test Run Summary
Overall result: Failed
Tests run: 14169, Passed: 13876, Errors: 292, Failures: 1, Inconclusive: 0
Not run: 0, Invalid: 0, Ignored: 0, Explicit: 0, Skipped: 0
Start time: 2016-01-17 22:58:39Z
End time: 2016-01-17 23:00:55Z
Duration: 135.444 seconds
====
When I run it without specifying --workers at all, I expect the same thing, since the default number of workers for my CPU is 8. However it is running all tests in a single worker thread (I can see this by inspecting the InternalTrace...log file):
====
Run Settings
InternalTraceLevel: Verbose
WorkDirectory: c:\workspace\Testing
Verbose: True
NumberOfTestWorkers: 8
Test Run Summary
Overall result: Passed
Tests run: 14169, Passed: 14169, Errors: 0, Failures: 0, Inconclusive: 0
Not run: 0, Invalid: 0, Ignored: 0, Explicit: 0, Skipped: 0
Start time: 2016-01-17 23:23:01Z
End time: 2016-01-17 23:27:04Z
Duration: 243.566 seconds
====
The test run is almost twice as long when running in a single thread.. :(
I guess I have set something somewhere that says "by default, use only one worker even if more than one is created", or similar.
What could it be and how do I make the default command line use the listed number of test workers?
(Point of interest: the order of run settings in the summary output is different too; Verbose comes before NumberOfTestWorkers when I run without --workers, and it comes after when I run it with --workers. Could be a hint for someone?)