Skip to content

cmCTestMultiProcessHandler: Start new tests asynchronously

Brad King requested to merge brad.king/cmake:ctest-loop-idle into master

When a test finishes, defer starting new tests until the next loop iteration. That way, if multiple tests finish in a single loop iteration, we can free all of their resources first, and then start a new batch of tests.

Also simplify test startup batching. Once a test is ready to run, count it against the number of tests to start in the current batch whether or not the test process actually starts successfully. If a test process does fail to start, simply schedule a new startup batch on the next loop iteration.

Merge request reports