old_contents: """
  Test that plugins that load commands work correctly.
  """
  
  import os, time
  import re
  import unittest2
  import lldb
  from lldbtest import *
  import lldbutil
  
  @expectedFailureGcc #xfail to get buildbot green, test failed with gcc4.8.2
  class PluginCommandTestCase(TestBase):
  
      mydir = TestBase.compute_mydir(__file__)
  
      def setUp(self):
          # Call super's setUp().
          TestBase.setUp(self)
          self.lib_dir = os.environ["LLDB_LIB_DIR"]
          self.implib_dir = os.environ["LLDB_IMPLIB_DIR"]
  
      @expectedFailureFreeBSD('llvm.org/pr17430')
      @skipIfi386 # This test links against liblldb.so. Thus, the test requires a 32-bit liblldb.so.
      @skipIfNoSBHeaders
      def test_load_plugin(self):
          """Test that plugins that load commands work correctly."""
  
          plugin_name = "plugin"
          if sys.platform.startswith("darwin"):
              plugin_lib_name = "lib%s.dylib" % plugin_name
          else:
              plugin_lib_name = "lib%s.so" % plugin_name
  
          # Invoke the library build rule.
          self.buildLibrary("plugin.cpp", plugin_name)
  
          debugger = lldb.SBDebugger.Create()
  
          retobj = lldb.SBCommandReturnObject()
  
          retval = debugger.GetCommandInterpreter().HandleCommand("plugin load %s" % plugin_lib_name, retobj)
  
          retobj.Clear()
  
          retval = debugger.GetCommandInterpreter().HandleCommand("plugin_loaded_command child abc def ghi",retobj)
  
          if self.TraceOn():
              print retobj.GetOutput()
  
          self.expect(retobj,substrs = ['abc def ghi'], exe=False)
  
          retobj.Clear()
  
          # check that abbreviations work correctly in plugin commands.
          retval = debugger.GetCommandInterpreter().HandleCommand("plugin_loaded_ ch abc def ghi",retobj)
  
          if self.TraceOn():
              print retobj.GetOutput()
  
          self.expect(retobj,substrs = ['abc def ghi'], exe=False)
  
  
  if __name__ == '__main__':
      import atexit
      lldb.SBDebugger.Initialize()
      atexit.register(lambda: lldb.SBDebugger.Terminate())
      unittest2.main()
  
new_contents: """
  Test that plugins that load commands work correctly.
  """
  
  import os, time
  import re
  import unittest2
  import lldb
  from lldbtest import *
  import lldbutil
  
  class PluginCommandTestCase(TestBase):
  
      mydir = TestBase.compute_mydir(__file__)
  
      def setUp(self):
          # Call super's setUp().
          TestBase.setUp(self)
          self.lib_dir = os.environ["LLDB_LIB_DIR"]
          self.implib_dir = os.environ["LLDB_IMPLIB_DIR"]
  
      @expectedFailureFreeBSD('llvm.org/pr17430')
      @skipIfi386 # This test links against liblldb.so. Thus, the test requires a 32-bit liblldb.so.
      @skipIfGcc # llvm.org/pr23221
      @skipIfNoSBHeaders
      def test_load_plugin(self):
          """Test that plugins that load commands work correctly."""
  
          plugin_name = "plugin"
          if sys.platform.startswith("darwin"):
              plugin_lib_name = "lib%s.dylib" % plugin_name
          else:
              plugin_lib_name = "lib%s.so" % plugin_name
  
          # Invoke the library build rule.
          self.buildLibrary("plugin.cpp", plugin_name)
  
          debugger = lldb.SBDebugger.Create()
  
          retobj = lldb.SBCommandReturnObject()
  
          retval = debugger.GetCommandInterpreter().HandleCommand("plugin load %s" % plugin_lib_name, retobj)
  
          retobj.Clear()
  
          retval = debugger.GetCommandInterpreter().HandleCommand("plugin_loaded_command child abc def ghi",retobj)
  
          if self.TraceOn():
              print retobj.GetOutput()
  
          self.expect(retobj,substrs = ['abc def ghi'], exe=False)
  
          retobj.Clear()
  
          # check that abbreviations work correctly in plugin commands.
          retval = debugger.GetCommandInterpreter().HandleCommand("plugin_loaded_ ch abc def ghi",retobj)
  
          if self.TraceOn():
              print retobj.GetOutput()
  
          self.expect(retobj,substrs = ['abc def ghi'], exe=False)
  
  
  if __name__ == '__main__':
      import atexit
      lldb.SBDebugger.Initialize()
      atexit.register(lambda: lldb.SBDebugger.Terminate())
      unittest2.main()
  
subject: Add skipIfGcc at the right place.