Home | History | Annotate | Download | only in commands
      1 """
      2 Test that plugins that load commands work correctly.
      3 """
      4 
      5 import os, time
      6 import re
      7 import unittest2
      8 import lldb
      9 from lldbtest import *
     10 import lldbutil
     11 
     12 class PluginCommandTestCase(TestBase):
     13 
     14     mydir = os.path.join("functionalities", "plugins", "commands")
     15 
     16     def setUp(self):
     17         # Call super's setUp().
     18         TestBase.setUp(self)
     19 
     20     @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
     21     def test_load_plugin(self):
     22         """Test that plugins that load commands work correctly."""
     23 
     24         # Invoke the default build rule.
     25         self.buildDefault()
     26         
     27         debugger = lldb.SBDebugger.Create()
     28 
     29         retobj = lldb.SBCommandReturnObject()
     30         
     31         retval = debugger.GetCommandInterpreter().HandleCommand("plugin load plugin.dylib",retobj)
     32 
     33         retobj.Clear()
     34 
     35         retval = debugger.GetCommandInterpreter().HandleCommand("plugin_loaded_command child abc def ghi",retobj)
     36 
     37         if self.TraceOn():
     38             print retobj.GetOutput()
     39 
     40         self.expect(retobj,substrs = ['abc def ghi'], exe=False)
     41 
     42         retobj.Clear()
     43 
     44         # check that abbreviations work correctly in plugin commands.
     45         retval = debugger.GetCommandInterpreter().HandleCommand("plugin_loaded_ ch abc def ghi",retobj)
     46 
     47         if self.TraceOn():
     48             print retobj.GetOutput()
     49 
     50         self.expect(retobj,substrs = ['abc def ghi'], exe=False)
     51 
     52 
     53 if __name__ == '__main__':
     54     import atexit
     55     lldb.SBDebugger.Initialize()
     56     atexit.register(lambda: lldb.SBDebugger.Terminate())
     57     unittest2.main()
     58