diff --git a/lldb/test/array_types/TestArrayTypes.py b/lldb/test/array_types/TestArrayTypes.py index 5f24d8dbe6f8..6b12c5268448 100644 --- a/lldb/test/array_types/TestArrayTypes.py +++ b/lldb/test/array_types/TestArrayTypes.py @@ -84,7 +84,7 @@ class TestArrayTypes(TestBase): breakpoint = target.BreakpointCreateByLocation("main.c", 42) self.assertTrue(breakpoint.IsValid(), VALID_BREAKPOINT) - self.runCmd("run", RUN_SUCCEEDED) + self.runCmd("run", RUN_SUCCEEDED, setCookie=False) # This does not work, and results in the process stopped at dyld_start? #process = target.LaunchProcess([''], [''], os.ctermid(), False) diff --git a/lldb/test/bitfields/TestBitfields.py b/lldb/test/bitfields/TestBitfields.py index e1b13a30d57f..ca88263a4c26 100644 --- a/lldb/test/bitfields/TestBitfields.py +++ b/lldb/test/bitfields/TestBitfields.py @@ -86,7 +86,7 @@ class TestBitfields(TestBase): breakpoint = target.BreakpointCreateByLocation("main.c", 42) self.assertTrue(breakpoint.IsValid(), VALID_BREAKPOINT) - self.runCmd("run", RUN_SUCCEEDED) + self.runCmd("run", RUN_SUCCEEDED, setCookie=False) # This does not work, and results in the process stopped at dyld_start? #process = target.LaunchProcess([''], [''], os.ctermid(), False) @@ -131,6 +131,10 @@ class TestBitfields(TestBase): int(four.GetValue(frame), 16) == 0x0f, 'bits.four has type uint32_t:4, is in scope, and == 0x0f') + # Now kill the process, and we are done. + rc = target.GetProcess().Kill() + self.assertTrue(rc.Success()) + if __name__ == '__main__': import atexit diff --git a/lldb/test/lldbtest.py b/lldb/test/lldbtest.py index dfd12cce1b82..74aa21c9aacd 100644 --- a/lldb/test/lldbtest.py +++ b/lldb/test/lldbtest.py @@ -323,7 +323,7 @@ class TestBase(unittest2.TestCase): # Restore old working directory. os.chdir(self.oldcwd) - def runCmd(self, cmd, msg=None, check=True, trace=False): + def runCmd(self, cmd, msg=None, check=True, trace=False, setCookie=True): """ Ask the command interpreter to handle the command and then check its return status. @@ -334,10 +334,9 @@ class TestBase(unittest2.TestCase): trace = (True if traceAlways else trace) - self.runStarted = (cmd.startswith("run") or - cmd.startswith("process launch")) + running = (cmd.startswith("run") or cmd.startswith("process launch")) - for i in range(self.maxLaunchCount if self.runStarted else 1): + for i in range(self.maxLaunchCount if running else 1): self.ci.HandleCommand(cmd, self.res) if trace: @@ -350,10 +349,12 @@ class TestBase(unittest2.TestCase): if self.res.Succeeded(): break else: - if self.runStarted: + if running: # Process launch failed, wait some time before the next try. time.sleep(self.timeWait) + self.runStarted = running and setCookie + if check: self.assertTrue(self.res.Succeeded(), msg if msg else CMD_MSG(cmd))