Remove hack from dotest.py to fix extra output on -P command, and fix MacOSX multi...
authorTodd Fiala <todd.fiala@gmail.com>
Tue, 8 Jul 2014 16:29:54 +0000 (16:29 +0000)
committerTodd Fiala <todd.fiala@gmail.com>
Tue, 8 Jul 2014 16:29:54 +0000 (16:29 +0000)
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?)

llvm-svn: 212548

lldb/test/dotest.py

index 05e1111..e600d2c 100755 (executable)
@@ -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, '..', '..')