1*99451b44SJordan Rupprecht""" 2*99451b44SJordan RupprechtTest lldb Python commands. 3*99451b44SJordan Rupprecht""" 4*99451b44SJordan Rupprecht 5*99451b44SJordan Rupprecht 6*99451b44SJordan Rupprecht 7*99451b44SJordan Rupprechtimport lldb 8*99451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import * 9*99451b44SJordan Rupprecht 10*99451b44SJordan Rupprecht 11*99451b44SJordan Rupprechtclass CommandScriptAliasTestCase(TestBase): 12*99451b44SJordan Rupprecht 13*99451b44SJordan Rupprecht mydir = TestBase.compute_mydir(__file__) 14*99451b44SJordan Rupprecht NO_DEBUG_INFO_TESTCASE = True 15*99451b44SJordan Rupprecht 16*99451b44SJordan Rupprecht def test_pycmd(self): 17*99451b44SJordan Rupprecht self.runCmd("command script import tcsacmd.py") 18*99451b44SJordan Rupprecht self.runCmd("command script add -f tcsacmd.some_command_here attach") 19*99451b44SJordan Rupprecht 20*99451b44SJordan Rupprecht # This is the function to remove the custom commands in order to have a 21*99451b44SJordan Rupprecht # clean slate for the next test case. 22*99451b44SJordan Rupprecht def cleanup(): 23*99451b44SJordan Rupprecht self.runCmd('command script delete attach', check=False) 24*99451b44SJordan Rupprecht 25*99451b44SJordan Rupprecht # Execute the cleanup function during test case tear down. 26*99451b44SJordan Rupprecht self.addTearDownHook(cleanup) 27*99451b44SJordan Rupprecht 28*99451b44SJordan Rupprecht # We don't want to display the stdout if not in TraceOn() mode. 29*99451b44SJordan Rupprecht if not self.TraceOn(): 30*99451b44SJordan Rupprecht self.HideStdout() 31*99451b44SJordan Rupprecht 32*99451b44SJordan Rupprecht self.expect('attach a', substrs=['Victory is mine']) 33*99451b44SJordan Rupprecht self.runCmd("command script delete attach") 34*99451b44SJordan Rupprecht # this can't crash but we don't care whether the actual attach works 35*99451b44SJordan Rupprecht self.runCmd('attach noprocessexistswiththisname', check=False) 36