This is a change discussed in http://reviews.llvm.org/D12416.
This change does the following:
- Removes the need to call dosep.py directly. Indeed, calling dosep.py directly now errors out (intentionally).
- Moves the arguments that dosep.py used to take into a Parallel execution options group of the dotest.py options.
- dotest.py now takes an optional --no-multiprocess option to shut off the multiprocess test runner. If not specified (i.e. the default), the test runner runs it in the same manner as dosep.py would have run it.
- The unnamed option (trailing argument) that dosep.py took was a test-dir-relative subdir to limit multiprocess test traversal within. This has been moved to the dotest.py --test-subdir option since dotest.py already handled unnamed options for something else.
- cmake and configure-based builds have been updated to use dotest.py or dotest.py --no-multiprocess in place of calling dosep.py.
I intend to do further cleanup here as follow up work, but I wanted to get the outside experience modified to "multiprocess by default, one interface" to the outside user.
Is this necessary? dosep already takes a -t argument which specifies the number of threads, and if the number of threads is 1 it disables the thread pool. Is it possible to delete this option and just pass -t=1 instead?