[Lldb-commits] [PATCH] D32522: Test case for the issue raised in D32271

vignesh balu via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Apr 26 00:16:45 PDT 2017


vbalu created this revision.

Adding test case to test the scenario in https://reviews.llvm.org/D3


Repository:
  rL LLVM

https://reviews.llvm.org/D32522

Files:
  packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py
  packages/Python/lldbsuite/test/lldbtest.py


Index: packages/Python/lldbsuite/test/lldbtest.py
===================================================================
--- packages/Python/lldbsuite/test/lldbtest.py
+++ packages/Python/lldbsuite/test/lldbtest.py
@@ -1484,6 +1484,9 @@
         """ Platform specific way to build an executable from C/C++ sources. """
         d = {'CXX_SOURCES': sources,
              'EXE': exe_name}
+        if not os.path.exists(os.path.dirname(exe_name)):
+            if os.path.dirname(exe_name):
+                os.mkdir(os.path.dirname(exe_name))
         self.buildDefault(dictionary=d)
 
     def buildDefault(
Index: packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py
===================================================================
--- packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py
+++ packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py
@@ -8,6 +8,7 @@
 import os
 import time
 import lldb
+import shutil
 from lldbsuite.test.decorators import *
 from lldbsuite.test.lldbtest import *
 from lldbsuite.test import lldbutil
@@ -38,6 +39,23 @@
         process = target.GetProcess()
         self.assertTrue(process, PROCESS_IS_VALID)
 
+	def test_attach_to_process_frm_different_dir_by_id(self):
+		"""Test attach by process id"""
+        self.buildProgram('main.cpp','newdir/proc_attach')
+        exe = os.path.join(os.getcwd(), 'newdir/proc_attach')
+        self.addTearDownHook(lambda: shutil.rmtree(os.path.dirname(exe)))
+
+        # Spawn a new process
+        popen = self.spawnSubprocess(exe)
+        self.addTearDownHook(self.cleanupSubprocesses)
+
+        self.runCmd("process attach -p " + str(popen.pid))
+
+        target = self.dbg.GetSelectedTarget()
+
+        process = target.GetProcess()
+        self.assertTrue(process, PROCESS_IS_VALID)
+
     def test_attach_to_process_by_name(self):
         """Test attach by process name"""
         self.build()


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D32522.96676.patch
Type: text/x-patch
Size: 1978 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20170426/3f096dfd/attachment.bin>


More information about the lldb-commits mailing list