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 NO_DEBUG_INFO_TESTCASE = True 13*99451b44SJordan Rupprecht 14*99451b44SJordan Rupprecht def test_pycmd(self): 15*99451b44SJordan Rupprecht self.runCmd("command script import tcsacmd.py") 16*99451b44SJordan Rupprecht self.runCmd("command script add -f tcsacmd.some_command_here attach") 17*99451b44SJordan Rupprecht 18*99451b44SJordan Rupprecht # This is the function to remove the custom commands in order to have a 19*99451b44SJordan Rupprecht # clean slate for the next test case. 20*99451b44SJordan Rupprecht def cleanup(): 21*99451b44SJordan Rupprecht self.runCmd('command script delete attach', check=False) 22*99451b44SJordan Rupprecht 23*99451b44SJordan Rupprecht # Execute the cleanup function during test case tear down. 24*99451b44SJordan Rupprecht self.addTearDownHook(cleanup) 25*99451b44SJordan Rupprecht 26*99451b44SJordan Rupprecht # We don't want to display the stdout if not in TraceOn() mode. 27*99451b44SJordan Rupprecht if not self.TraceOn(): 28*99451b44SJordan Rupprecht self.HideStdout() 29*99451b44SJordan Rupprecht 30*99451b44SJordan Rupprecht self.expect('attach a', substrs=['Victory is mine']) 31*99451b44SJordan Rupprecht self.runCmd("command script delete attach") 32*99451b44SJordan Rupprecht # this can't crash but we don't care whether the actual attach works 33*99451b44SJordan Rupprecht self.runCmd('attach noprocessexistswiththisname', check=False) 34