Index: test/functionalities/register/TestRegisters.py =================================================================== --- test/functionalities/register/TestRegisters.py +++ test/functionalities/register/TestRegisters.py @@ -58,7 +58,6 @@ self.buildDefault() self.convenience_registers_with_process_attach(test_16bit_regs=False) - @skipIfDarwin # https://llvm.org/bugs/show_bug.cgi?id=23181: Some lldb-server tests become zombies @skipIfFreeBSD # llvm.org/pr18230 @expectedFailureFreeBSD("llvm.org/pr18200") def test_convenience_registers_16bit_with_process_attach(self): Index: test/lldbtest.py =================================================================== --- test/lldbtest.py +++ test/lldbtest.py @@ -255,6 +255,7 @@ def __init__(self, trace_on): self._proc = None self._trace_on = trace_on + self._delayafterterminate = 0.1 @property def pid(self): @@ -267,7 +268,25 @@ def terminate(self): if self._proc.poll() == None: + # Terminate _proc like it does the pexpect + self._proc.send_signal(signal.SIGHUP) + time.sleep(self._delayafterterminate) + if self._proc.poll() != None: + return + self._proc.send_signal(signal.SIGCONT) + time.sleep(self._delayafterterminate) + if self._proc.poll() != None: + return + self._proc.send_signal(signal.SIGINT) + time.sleep(self._delayafterterminate) + if self._proc.poll() != None: + return self._proc.terminate() + time.sleep(self._delayafterterminate) + if self._proc.poll() != None: + return + self._proc.kill() + time.sleep(self._delayafterterminate) def poll(self): return self._proc.poll() Index: test/tools/lldb-server/TestGdbRemoteRegisterState.py =================================================================== --- test/tools/lldb-server/TestGdbRemoteRegisterState.py +++ test/tools/lldb-server/TestGdbRemoteRegisterState.py @@ -109,7 +109,6 @@ @debugserver_test @dsym_test - @skipIfDarwin # https://llvm.org/bugs/show_bug.cgi?id=23181: Some lldb-server tests become zombies def test_grp_register_save_restore_works_no_suffix_debugserver_dsym(self): USE_THREAD_SUFFIX = False self.init_debugserver_test() Index: test/tools/lldb-server/TestGdbRemoteSingleStep.py =================================================================== --- test/tools/lldb-server/TestGdbRemoteSingleStep.py +++ test/tools/lldb-server/TestGdbRemoteSingleStep.py @@ -7,7 +7,6 @@ @debugserver_test @dsym_test - @skipIfDarwin # https://llvm.org/bugs/show_bug.cgi?id=23181: Some lldb-server tests become zombies def test_single_step_only_steps_one_instruction_with_s_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() Index: test/tools/lldb-server/TestGdbRemote_vCont.py =================================================================== --- test/tools/lldb-server/TestGdbRemote_vCont.py +++ test/tools/lldb-server/TestGdbRemote_vCont.py @@ -90,7 +90,6 @@ @debugserver_test @dsym_test - @skipIfDarwin # https://llvm.org/bugs/show_bug.cgi?id=23181: Some lldb-server tests become zombies def test_single_step_only_steps_one_instruction_with_Hc_vCont_s_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() @@ -107,7 +106,6 @@ @debugserver_test @dsym_test - @skipIfDarwin # https://llvm.org/bugs/show_bug.cgi?id=23181: Some lldb-server tests become zombies def test_single_step_only_steps_one_instruction_with_vCont_s_thread_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() Index: test/tools/lldb-server/TestLldbGdbServer.py =================================================================== --- test/tools/lldb-server/TestLldbGdbServer.py +++ test/tools/lldb-server/TestLldbGdbServer.py @@ -689,7 +689,6 @@ @debugserver_test @dsym_test - @skipIfDarwin # https://llvm.org/bugs/show_bug.cgi?id=23181: Some lldb-server tests become zombies def test_p_returns_correct_data_size_for_each_qRegisterInfo_attach_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() @@ -869,7 +868,6 @@ @debugserver_test @dsym_test - @skipIfDarwin # https://llvm.org/bugs/show_bug.cgi?id=23181: Some lldb-server tests become zombies @unittest2.expectedFailure() def test_Hc_then_Csignal_signals_correct_thread_launch_debugserver_dsym(self): self.init_debugserver_test() Index: test/tools/lldb-server/inferior-crash/TestGdbRemoteAbort.py =================================================================== --- test/tools/lldb-server/inferior-crash/TestGdbRemoteAbort.py +++ test/tools/lldb-server/inferior-crash/TestGdbRemoteAbort.py @@ -25,7 +25,6 @@ @debugserver_test @dsym_test - @skipIfDarwin # https://llvm.org/bugs/show_bug.cgi?id=23181: Some lldb-server tests become zombies def test_inferior_abort_received_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym() Index: test/tools/lldb-server/inferior-crash/TestGdbRemoteSegFault.py =================================================================== --- test/tools/lldb-server/inferior-crash/TestGdbRemoteSegFault.py +++ test/tools/lldb-server/inferior-crash/TestGdbRemoteSegFault.py @@ -27,7 +27,6 @@ @debugserver_test @dsym_test - @skipIfDarwin # https://llvm.org/bugs/show_bug.cgi?id=23181: Some lldb-server tests become zombies def test_inferior_seg_fault_received_debugserver_dsym(self): self.init_debugserver_test() self.buildDsym()