[Lldb-commits] [lldb] r241459 - Fix dosep.py on windows after r240946

Pavel Labath labath at google.com
Mon Jul 6 08:57:53 PDT 2015


Author: labath
Date: Mon Jul  6 10:57:52 2015
New Revision: 241459

URL: http://llvm.org/viewvc/llvm-project?rev=241459&view=rev
Log:
Fix dosep.py on windows after r240946

Summary:
On windows, global python variables are not automatically passed to child processes. This commit
makes sure the default timeout value is available to child processes by passing it directly.
I pass the whole dotest_opts value to the children, so we can use the other members as well if we
need to do it in the future.

Reviewers: amccarth

Subscribers: lldb-commits-list

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

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=241459&r1=241458&r2=241459&view=diff
==============================================================================
--- lldb/trunk/test/dosep.py (original)
+++ lldb/trunk/test/dosep.py Mon Jul  6 10:57:52 2015
@@ -67,12 +67,14 @@ eTimedOut, ePassed, eFailed = 124, 0, 1
 output_lock = None
 test_counter = None
 total_tests = None
+dotest_options = None
 
-def setup_lock_and_counter(lock, counter, total):
-    global output_lock, test_counter, total_tests
+def setup_global_variables(lock, counter, total, options):
+    global output_lock, test_counter, total_tests, dotest_options
     output_lock = lock
     test_counter = counter
     total_tests = total
+    dotest_options = options
 
 def update_status(name = None, command = None, output = None):
     global output_lock, test_counter, total_tests
@@ -152,7 +154,7 @@ def process_dir(root, files, test_root,
 
         timeout_name = os.path.basename(os.path.splitext(name)[0]).upper()
 
-        timeout = os.getenv("LLDB_%s_TIMEOUT" % timeout_name) or default_timeout
+        timeout = os.getenv("LLDB_%s_TIMEOUT" % timeout_name) or getDefaultTimeout(dotest_options.lldb_platform_name)
 
         exit_status, pass_count, fail_count = call_with_timeout(command, timeout, name)
 
@@ -202,8 +204,8 @@ def walk_and_invoke(test_directory, test
     # calling each individually.
     if num_threads > 1:
         pool = multiprocessing.Pool(num_threads,
-            initializer = setup_lock_and_counter,
-            initargs = (output_lock, test_counter, total_tests))
+            initializer = setup_global_variables,
+            initargs = (output_lock, test_counter, total_tests, dotest_options))
         test_results = pool.map(process_dir_worker, test_work_items)
     else:
         test_results = []
@@ -336,6 +338,7 @@ Run lldb test suite using a separate pro
     dotest_argv = shlex.split(dotest_option_string, posix=is_posix) if dotest_option_string else []
 
     parser = dotest_args.create_parser()
+    global dotest_options
     dotest_options = dotest_args.parse_args(parser, dotest_argv)
 
     if not dotest_options.s:
@@ -372,9 +375,6 @@ Run lldb test suite using a separate pro
     if num_threads < 1:
         num_threads = 1
 
-    global default_timeout
-    default_timeout = getDefaultTimeout(dotest_options.lldb_platform_name)
-
     system_info = " ".join(platform.uname())
     (timed_out, failed, passed, all_fails, all_passes) = walk_and_invoke(test_directory, test_subdir, dotest_argv, num_threads)
 





More information about the lldb-commits mailing list