diff options
author | Enrico Granata <egranata@apple.com> | 2015-05-27 05:04:35 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2015-05-27 05:04:35 +0000 |
commit | e87764f2470f6794e432506ebc8beb6ef78dd5fb (patch) | |
tree | 4bd62c58b76aeaf4d7c6155418838b9933caa56c /lldb/test/functionalities/command_script/TestCommandScript.py | |
parent | 3273930d9acee986bc3d1bc24556354e26a797fd (diff) | |
download | bcm5719-llvm-e87764f2470f6794e432506ebc8beb6ef78dd5fb.tar.gz bcm5719-llvm-e87764f2470f6794e432506ebc8beb6ef78dd5fb.zip |
Add support for custom commands to set flags on themselves
This works for Python commands defined via a class (implement get_flags on your class) and C++ plugin commands (which can call SBCommand::GetFlags()/SetFlags())
Flags allow features such as not letting the command run if there's no target, or if the process is not stopped, ...
Commands could always check for these things themselves, but having these accessible via flags makes custom commands more consistent with built-in ones
llvm-svn: 238286
Diffstat (limited to 'lldb/test/functionalities/command_script/TestCommandScript.py')
-rw-r--r-- | lldb/test/functionalities/command_script/TestCommandScript.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lldb/test/functionalities/command_script/TestCommandScript.py b/lldb/test/functionalities/command_script/TestCommandScript.py index fab1cb2b683..d4210b44f90 100644 --- a/lldb/test/functionalities/command_script/TestCommandScript.py +++ b/lldb/test/functionalities/command_script/TestCommandScript.py @@ -23,11 +23,17 @@ class CmdPythonTestCase(TestBase): self.pycmd_tests () def pycmd_tests (self): + self.runCmd("command source py_import") + + self.expect('targetname', + substrs = ['a.out'], matching=False, error=True) + exe = os.path.join (os.getcwd(), "a.out") self.expect("file " + exe, patterns = [ "Current executable set to .*a.out" ]) - self.runCmd("command source py_import") + self.expect('targetname', + substrs = ['a.out'], matching=True, error=False) # This is the function to remove the custom commands in order to have a # clean slate for the next test case. @@ -75,9 +81,6 @@ class CmdPythonTestCase(TestBase): self.expect('welcome Enrico', matching=False, error=True, substrs = ['Hello Enrico, welcome to LLDB']); - self.expect('targetname', - substrs = ['a.out']) - self.expect('targetname fail', error=True, substrs = ['a test for error in command']) @@ -122,7 +125,7 @@ class CmdPythonTestCase(TestBase): self.runCmd('command script add my_command --class welcome.WelcomeCommand') self.expect('my_command Blah', substrs = ['Hello Blah, welcome to LLDB']) - self.runCmd('command script add my_command --function welcome.target_name_impl') + self.runCmd('command script add my_command --class welcome.TargetnameCommand') self.expect('my_command', substrs = ['a.out']) self.runCmd("command script clear") |