Bug ID 30288
Summary Consider using a separate working dir per test suite .py file to decouple serialization from test directory
Component All Bugs
Currently, the LLDB test suite uses the test suite directory as the unit of serialization. This is primarily due to the test suite building the test inferior build artifacts into the test directory itself. This implementation detail then causes us to only allow one python file to run at a time within that directory, and only one test method within that file. The only way to increase throughput with our current system is to break larger test files into smaller files (fewer test methods per file), and to break those python files into separate directories. That then allows all of those broken-down test .py files to run concurrently. What we really want here is, at a minimum: * Do what our remote test suite does, which is to create a separate working directory per .py test file, thus allowing multiple .py files in the same directory to be executed independent of one another. For bonus points, we could: * Allow each test method to run in a separate working dir. The latter would allow us to (1) eliminate serialization within a given .py file, and (2) probably could be done in tandem with enabling rerunning of individual failed test methods. Currently, we are forced to do a rerun at the level of a .py file (i.e. potentially rerunning many more tests than we actually need to rerun), solely because we only support running all the methods in a test .py file. There are some failure scenarios where being able to run all test methods in a .py file *except* for the one that timed out might be helpful. Currently a stuck test method takes out all the test methods in a test .py file that come after the one that times out.