[Lldb-commits] [lldb] r237207 - dosep can run tests in a specific subfolder

Vince Harron vince at nethacker.com
Tue May 12 16:12:20 PDT 2015


Author: vharron
Date: Tue May 12 18:12:19 2015
New Revision: 237207

URL: http://llvm.org/viewvc/llvm-project?rev=237207&view=rev
Log:
dosep can run tests in a specific subfolder

For example:

./dosep.py -o "$DOTEST_OPTS" lang/c/

Differential Revision: http://reviews.llvm.org/D9724


Modified:
    lldb/trunk/test/dosep.py

Modified: lldb/trunk/test/dosep.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dosep.py?rev=237207&r1=237206&r2=237207&view=diff
==============================================================================
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Tue May 12 18:12:19 2015
@@ -115,16 +115,20 @@ def process_dir_worker(arg_tuple):
     (root, files, test_root, dotest_options) = arg_tuple
     return process_dir(root, files, test_root, dotest_options)
 
-def walk_and_invoke(test_root, dotest_options, num_threads):
+def walk_and_invoke(test_directory, test_subdir, dotest_options, num_threads):
     """Look for matched files and invoke test driver on each one.
     In single-threaded mode, each test driver is invoked directly.
     In multi-threaded mode, submit each test driver to a worker
-    queue, and then wait for all to complete."""
+    queue, and then wait for all to complete.
+
+    test_directory - lldb/test/ directory
+    test_subdir - lldb/test/ or a subfolder with the tests we're interested in running
+    """
 
     # Collect the test files that we'll run.
     test_work_items = []
-    for root, dirs, files in os.walk(test_root, topdown=False):
-        test_work_items.append((root, files, test_root, dotest_options))
+    for root, dirs, files in os.walk(test_subdir, topdown=False):
+        test_work_items.append((root, files, test_directory, dotest_options))
 
     # Run the items, either in a pool (for multicore speedup) or
     # calling each individually.
@@ -179,8 +183,7 @@ def getExpectedTimeouts(dotest_options):
 def main():
     # We can't use sys.path[0] to determine the script directory
     # because it doesn't work under a debugger
-    test_root = os.path.dirname(os.path.realpath(__file__))
-
+    test_directory = os.path.dirname(os.path.realpath(__file__))
     parser = OptionParser(usage="""\
 Run lldb test suite using a separate process for each test file.
 
@@ -214,6 +217,12 @@ Run lldb test suite using a separate pro
     opts, args = parser.parse_args()
     dotest_options = opts.dotest_options
 
+    # The root directory was specified on the command line
+    if len(args) == 0:
+        test_subdir = test_directory
+    else:
+        test_subdir = os.path.join(test_directory, args[0])
+
     if opts.num_threads:
         num_threads = opts.num_threads
     else:
@@ -226,7 +235,7 @@ Run lldb test suite using a separate pro
         num_threads = 1
 
     system_info = " ".join(platform.uname())
-    (timed_out, failed, passed) = walk_and_invoke(test_root, dotest_options,
+    (timed_out, failed, passed) = walk_and_invoke(test_directory, test_subdir, dotest_options,
                                                   num_threads)
     timed_out = set(timed_out)
     num_tests = len(failed) + len(passed)





More information about the lldb-commits mailing list