Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
test/tools/lldb-mi/TestMiExec.py
Show First 20 Lines • Show All 54 Lines • ▼ Show 20 Lines | def test_lldbmi_exec_abort(self): | ||||
# Test that program may be aborted again | # Test that program may be aborted again | ||||
self.runCmd("-exec-abort") | self.runCmd("-exec-abort") | ||||
self.expect("\^done") | self.expect("\^done") | ||||
self.expect("\*stopped,reason=\"exited-normally\"") | self.expect("\*stopped,reason=\"exited-normally\"") | ||||
@lldbmi_test | @lldbmi_test | ||||
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows") | @expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows") | ||||
@unittest2.skip("reviews.llvm.org/D6965: requires this patch") | |||||
def test_lldbmi_exec_arguments_set(self): | def test_lldbmi_exec_arguments_set(self): | ||||
"""Test that 'lldb-mi --interpreter' can pass args using -exec-arguments.""" | """Test that 'lldb-mi --interpreter' can pass args using -exec-arguments.""" | ||||
self.spawnLldbMi(args = None) | self.spawnLldbMi(args = None) | ||||
# Load executable | # Load executable | ||||
self.runCmd("-file-exec-and-symbols %s" % self.myexe) | self.runCmd("-file-exec-and-symbols %s" % self.myexe) | ||||
self.expect("\^done") | self.expect("\^done") | ||||
Show All 14 Lines | def test_lldbmi_exec_arguments_set(self): | ||||
self.expect("\^done,value=\"5\"") | self.expect("\^done,value=\"5\"") | ||||
#self.runCmd("-data-evaluate-expression argv[1]") | #self.runCmd("-data-evaluate-expression argv[1]") | ||||
#self.expect("\^done,value=\"--arg1\"") | #self.expect("\^done,value=\"--arg1\"") | ||||
self.runCmd("-interpreter-exec command \"print argv[1]\"") | self.runCmd("-interpreter-exec command \"print argv[1]\"") | ||||
self.expect("\"--arg1\"") | self.expect("\"--arg1\"") | ||||
#self.runCmd("-data-evaluate-expression argv[2]") | #self.runCmd("-data-evaluate-expression argv[2]") | ||||
#self.expect("\^done,value=\"2nd arg\"") | #self.expect("\^done,value=\"2nd arg\"") | ||||
self.runCmd("-interpreter-exec command \"print argv[2]\"") | self.runCmd("-interpreter-exec command \"print argv[2]\"") | ||||
self.expect("\"2nd arg\"") | #FIXME: lldb-mi doesn't handle inner quotes | ||||
self.expect("\"\\\\\\\"2nd arg\\\\\\\"\"") #FIXME: self.expect("\"2nd arg\"") | |||||
#self.runCmd("-data-evaluate-expression argv[3]") | #self.runCmd("-data-evaluate-expression argv[3]") | ||||
#self.expect("\^done,value=\"third_arg\"") | #self.expect("\^done,value=\"third_arg\"") | ||||
self.runCmd("-interpreter-exec command \"print argv[3]\"") | self.runCmd("-interpreter-exec command \"print argv[3]\"") | ||||
self.expect("\"third_arg\"") | self.expect("\"third_arg\"") | ||||
#self.runCmd("-data-evaluate-expression argv[4]") | #self.runCmd("-data-evaluate-expression argv[4]") | ||||
#self.expect("\^done,value=\"fourth=\\\\\\\"4th arg\\\\\\\"\"") | #self.expect("\^done,value=\"fourth=\\\\\\\"4th arg\\\\\\\"\"") | ||||
self.runCmd("-interpreter-exec command \"print argv[4]\"") | self.runCmd("-interpreter-exec command \"print argv[4]\"") | ||||
self.expect("\"fourth=\\\\\\\"4th arg\\\\\\\"\"") | self.expect("\"fourth=\\\\\\\"4th arg\\\\\\\"\"") | ||||
@lldbmi_test | @lldbmi_test | ||||
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows") | @expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows") | ||||
@unittest2.skip("reviews.llvm.org/D6965: requires this patch") | |||||
def test_lldbmi_exec_arguments_reset(self): | def test_lldbmi_exec_arguments_reset(self): | ||||
"""Test that 'lldb-mi --interpreter' can reset previously set args using -exec-arguments.""" | """Test that 'lldb-mi --interpreter' can reset previously set args using -exec-arguments.""" | ||||
self.spawnLldbMi(args = None) | self.spawnLldbMi(args = None) | ||||
# Load executable | # Load executable | ||||
self.runCmd("-file-exec-and-symbols %s" % self.myexe) | self.runCmd("-file-exec-and-symbols %s" % self.myexe) | ||||
self.expect("\^done") | self.expect("\^done") | ||||
▲ Show 20 Lines • Show All 243 Lines • ▼ Show 20 Lines | def test_lldbmi_exec_step_instruction(self): | ||||
# Test that an invalid --frame is handled | # Test that an invalid --frame is handled | ||||
# FIXME: no error is returned | # FIXME: no error is returned | ||||
self.runCmd("-exec-step-instruction --frame 10") | self.runCmd("-exec-step-instruction --frame 10") | ||||
#self.expect("\^error: Frame index 10 is out of range") | #self.expect("\^error: Frame index 10 is out of range") | ||||
@lldbmi_test | @lldbmi_test | ||||
@expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows") | @expectedFailureWindows("llvm.org/pr22274: need a pexpect replacement for windows") | ||||
@unittest2.skip("reviews.llvm.org/D6965: requires this patch") | |||||
def test_lldbmi_exec_finish(self): | def test_lldbmi_exec_finish(self): | ||||
"""Test that 'lldb-mi --interpreter' works for -exec-finish.""" | """Test that 'lldb-mi --interpreter' works for -exec-finish.""" | ||||
self.spawnLldbMi(args = None) | self.spawnLldbMi(args = None) | ||||
# Load executable | # Load executable | ||||
self.runCmd("-file-exec-and-symbols %s" % self.myexe) | self.runCmd("-file-exec-and-symbols %s" % self.myexe) | ||||
self.expect("\^done") | self.expect("\^done") | ||||
▲ Show 20 Lines • Show All 69 Lines • Show Last 20 Lines |