[Lldb-commits] [lldb] r212548 - Remove hack from dotest.py to fix extra output on -P command, and fix MacOSX multi-threaded test run collisions on crashlog.dylib.

Todd Fiala todd.fiala at gmail.com
Tue Jul 8 09:29:54 PDT 2014


Author: tfiala
Date: Tue Jul  8 11:29:54 2014
New Revision: 212548

URL: http://llvm.org/viewvc/llvm-project?rev=212548&view=rev
Log:
Remove hack from dotest.py to fix extra output on -P command, and fix MacOSX multi-threaded test run collisions on crashlog.dylib.

On MacOSX, we need to adjust the way we clean up the crashlog dylib in deleteCrashInfoDylib().
Right now it is only geared to run one test at a time.  For now I'm just skipping the delete.
I'll work with Apple on a fix that handles this.  It seems to only cause one dylib total to
hang around that might otherwise have been deleted.  Fixes MacOSX multiple tests running
at the same time.  (I didn't hit this on Yosemite, might be an issue that only shows up
on Mavericks?)

Modified:
    lldb/trunk/test/dotest.py

Modified: lldb/trunk/test/dotest.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/dotest.py?rev=212548&r1=212547&r2=212548&view=diff
==============================================================================
--- lldb/trunk/test/dotest.py (original)
+++ lldb/trunk/test/dotest.py Tue Jul  8 11:29:54 2014
@@ -399,7 +399,10 @@ setCrashInfoHook = None
 
 def deleteCrashInfoDylib(dylib_path):
     try:
-        os.remove(dylib_path)
+        # Need to modify this to handle multiple tests running at the same time.  If we move this
+        # to the test's real dir, all should be we run sequentially within a test directory.
+        # os.remove(dylib_path)
+        None
     finally:
         pass
 
@@ -1010,9 +1013,8 @@ def setupSysPath():
 
         if lldb_dash_p_result and not lldb_dash_p_result.startswith(("<", "lldb: invalid option:")):
             lines = lldb_dash_p_result.splitlines()
-            # Assume the last line of output is the path.  Generally there should only be one.
-            if os.path.isfile(os.path.join(lines[-1], init_in_python_dir)):
-                lldbPath = lines[-1]
+            if len(lines) == 1 and os.path.isfile(os.path.join(lines[0], init_in_python_dir)):
+                lldbPath = lines[0]
                 if "freebsd" in sys.platform or "linux" in sys.platform:
                     os.environ['LLDB_LIB_DIR'] = os.path.join(lldbPath, '..', '..')
         





More information about the lldb-commits mailing list