diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
2 files changed, 21 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py index 59abad6110e..4842bc09455 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py @@ -38,6 +38,12 @@ class TestScriptedResolver(TestBase): self.build() self.do_test_cli() + def test_bad_command_lines(self): + """Make sure we get appropriate errors when we give invalid key/value + options""" + self.build() + self.do_test_bad_options() + def setUp(self): # Call super's setUp(). TestBase.setUp(self) @@ -195,3 +201,15 @@ class TestScriptedResolver(TestBase): target = self.make_target_and_import() lldbutil.run_break_set_by_script(self, "resolver.Resolver", extra_options="-k symbol -v break_on_me") + + def do_test_bad_options(self): + target = self.make_target_and_import() + + self.expect("break set -P resolver.Resolver -k a_key", error = True, msg="Missing value at end", + substrs=['Key: "a_key" missing value']) + self.expect("break set -P resolver.Resolver -v a_value", error = True, msg="Missing key at end", + substrs=['Value: "a_value" missing matching key']) + self.expect("break set -P resolver.Resolver -v a_value -k a_key -v another_value", error = True, msg="Missing key among args", + substrs=['Value: "a_value" missing matching key']) + self.expect("break set -P resolver.Resolver -k a_key -k a_key -v another_value", error = True, msg="Missing value among args", + substrs=['Key: "a_key" missing value']) diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/resolver.py b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/resolver.py index 61f5f2df20a..f3af7c09f97 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/resolver.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/resolver.py @@ -7,6 +7,7 @@ class Resolver: def __init__(self, bkpt, extra_args, dict): self.bkpt = bkpt self.extra_args = extra_args + Resolver.func_list = [] Resolver.got_files = 0 @@ -15,6 +16,8 @@ class Resolver: sym_item = self.extra_args.GetValueForKey("symbol") if sym_item.IsValid(): sym_name = sym_item.GetStringValue(1000) + else: + print("Didn't have a value for key 'symbol'") if sym_ctx.compile_unit.IsValid(): Resolver.got_files = 1 |