diff options
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py')
| -rw-r--r-- | packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py | 30 | 
1 files changed, 30 insertions, 0 deletions
diff --git a/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py b/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py index 716d0d4f5bc7..c4d372cd3d30 100644 --- a/packages/Python/lldbsuite/test/functionalities/process_attach/TestProcessAttach.py +++ b/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 @@ -22,6 +23,7 @@ class ProcessAttachTestCase(TestBase):      NO_DEBUG_INFO_TESTCASE = True      @skipIfiOSSimulator +    @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], bugnumber="<rdar://problem/34538611>") # old lldb-server has race condition, launching an inferior and then launching debugserver in quick succession sometimes fails      def test_attach_to_process_by_id(self):          """Test attach by process id"""          self.build() @@ -38,6 +40,34 @@ class ProcessAttachTestCase(TestBase):          process = target.GetProcess()          self.assertTrue(process, PROCESS_IS_VALID) +    @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], bugnumber="<rdar://problem/34538611>") # old lldb-server has race condition, launching an inferior and then launching debugserver in quick succession sometimes fails +    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 +        testdir = os.getcwd() +        newdir = os.path.join(testdir,'newdir') +        exe = os.path.join(newdir, 'proc_attach') +        self.buildProgram('main.cpp', exe) +        self.addTearDownHook(lambda: shutil.rmtree(newdir)) + +        # Spawn a new process +        popen = self.spawnSubprocess(exe) +        self.addTearDownHook(self.cleanupSubprocesses) + +        os.chdir('newdir') +        self.addTearDownHook(lambda: os.chdir(testdir)) +        self.runCmd("process attach -p " + str(popen.pid)) + +        target = self.dbg.GetSelectedTarget() + +        process = target.GetProcess() +        self.assertTrue(process, PROCESS_IS_VALID) + +    @expectedFailureAll(oslist=['ios', 'watchos', 'tvos', 'bridgeos'], bugnumber="<rdar://problem/34538611>") # old lldb-server has race condition, launching an inferior and then launching debugserver in quick succession sometimes fails      def test_attach_to_process_by_name(self):          """Test attach by process name"""          self.build()  | 
