diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/process_attach')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py b/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py index 716d0d4f5bc..db01c00bbcd 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py @@ -8,6 +8,7 @@ from __future__ import print_function 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,29 @@ class ProcessAttachTestCase(TestBase): process = target.GetProcess() self.assertTrue(process, PROCESS_IS_VALID) + def test_attach_to_process_from_different_dir_by_id(self): + """Test attach by process id""" + try: + os.mkdir(os.path.join(os.getcwd(),'newdir')) + except OSError, e: + if e.errno != os.errno.EEXIST: + raise + self.buildProgram('main.cpp',os.path.join(os.getcwd(),'newdir','proc_attach')) + exe = os.path.join('.','newdir','proc_attach') + self.addTearDownHook(lambda: shutil.rmtree(os.path.join(os.getcwd()))) + + # Spawn a new process + popen = self.spawnSubprocess(exe) + self.addTearDownHook(self.cleanupSubprocesses) + + os.chdir('newdir') + 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() |