<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - Consider using a separate working dir per test suite .py file to decouple serialization from test directory"
   href="https://llvm.org/bugs/show_bug.cgi?id=30288">30288</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Consider using a separate working dir per test suite .py file to decouple serialization from test directory
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>lldb
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>All Bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>lldb-dev@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>todd.fiala@gmail.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>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.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>