| """ |
| Test lldb Python commands. |
| """ |
| |
| from __future__ import print_function |
| |
| |
| import os |
| import time |
| import lldb |
| from lldbsuite.test.lldbtest import * |
| |
| |
| class CommandScriptAliasTestCase(TestBase): |
| |
| mydir = TestBase.compute_mydir(__file__) |
| |
| def test(self): |
| self.pycmd_tests() |
| |
| def pycmd_tests(self): |
| self.runCmd("command script import tcsacmd.py") |
| self.runCmd("command script add -f tcsacmd.some_command_here attach") |
| |
| # This is the function to remove the custom commands in order to have a |
| # clean slate for the next test case. |
| def cleanup(): |
| self.runCmd('command script delete attach', check=False) |
| |
| # Execute the cleanup function during test case tear down. |
| self.addTearDownHook(cleanup) |
| |
| # We don't want to display the stdout if not in TraceOn() mode. |
| if not self.TraceOn(): |
| self.HideStdout() |
| |
| self.expect('attach a', substrs=['Victory is mine']) |
| self.runCmd("command script delete attach") |
| # this can't crash but we don't care whether the actual attach works |
| self.runCmd('attach noprocessexistswiththisname', check=False) |