Description
Suggestion
Implement a Hash/Partition based Test Filter, so that tests match the filter based on a hash and modulo comparison. This is separate and different to parallel execution attribute.
This would allow a subset of tests to be ran (and others excluded) based on a partition number, in order to partition the running of the same (large, slow) test suite across multiple machines by selectively filtering to a subset of tests based on a partition count and number.
Use case
Using GitHub Actions to run nunit tests, it would be great to use the matrix
option in GitHub Actions to run multiple copies of the test process across multiple machines at once in order to speed up test runs for large test suites easily.
A filter parameter that allowed me to specify the number of partitions (eg, 10) and the partition number to filter tests for (eg, 3) would make it very easy to partition the running of tests in GitHub Actions and other runners where sub-jobs are supported.
Usage example
--filter <partition/max partitions>
Algorithm may be something like IsMatch == sha1(fully qualified test name) % max partitions == partition
Contribution
I'm happy to contribute a PR if this sounds like a reasonable contribution.