old_contents: """
  Test that debug symbols have the correct order as specified by the order file.
  """
  
  import os, time
  import re
  import unittest2
  import lldb
  from lldbtest import *
  
  class OrderFileTestCase(TestBase):
  
      mydir = "order"
  
      def test_order_file(self):
          """Test debug symbols follow the correct order by the order file."""
          self.buildDefault()
  
          exe = os.path.join(os.getcwd(), "a.out")
          self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
  
          # Test that the debug symbols have Function f3 before Function f1.
          self.runCmd("image dump symtab a.out")
          output = self.res.GetOutput()
          mo_f3 = re.search("Code +.+f3", output)
          mo_f1 = re.search("Code +.+f1", output)
          
          # Match objects for f3 and f1 must exist and f3 must come before f1.
          self.assertTrue(mo_f3 and mo_f1 and mo_f3.start() < mo_f1.start(),
                          "Symbols have correct order by the order file")
  
          self.runCmd("run", RUN_COMPLETED)
  
  
  if __name__ == '__main__':
      import atexit
      lldb.SBDebugger.Initialize()
      atexit.register(lambda: lldb.SBDebugger.Terminate())
      unittest2.main()
  
new_contents: """
  Test that debug symbols have the correct order as specified by the order file.
  """
  
  import os, time
  import re
  import unittest2
  import lldb
  from lldbtest import *
  
  class OrderFileTestCase(TestBase):
  
      mydir = "order"
  
      @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
      def test_with_dsym(self):
          """Test debug symbols follow the correct order by the order file."""
          self.buildDsym()
          self.order_file()
  
      def test_with_dwarf(self):
          """Test debug symbols follow the correct order by the order file."""
          self.buildDwarf()
          self.order_file()
  
      def order_file(self):
          """Test debug symbols follow the correct order by the order file."""
          exe = os.path.join(os.getcwd(), "a.out")
          self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)
  
          # Test that the debug symbols have Function f3 before Function f1.
          self.runCmd("image dump symtab a.out")
          output = self.res.GetOutput()
          mo_f3 = re.search("Code +.+f3", output)
          mo_f1 = re.search("Code +.+f1", output)
          
          # Match objects for f3 and f1 must exist and f3 must come before f1.
          self.assertTrue(mo_f3 and mo_f1 and mo_f3.start() < mo_f1.start(),
                          "Symbols have correct order by the order file")
  
          self.runCmd("run", RUN_COMPLETED)
  
  
  if __name__ == '__main__':
      import atexit
      lldb.SBDebugger.Initialize()
      atexit.register(lambda: lldb.SBDebugger.Terminate())
      unittest2.main()
  
subject: Test order file with both dsym and dwarf combination.