# # The following example shows how to utilize the pre-flight config file to route the lldb gdb-remote log messages # into individual log destinations. # # See also .lldb-loggings in this directory as well as the tmp dir which contains the two log files abridged due # to their log sizes. # [11:31:34] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-loggings functionalities/breakpoint/breakpoint_command config: {'pre_flight': <function pre_flight at 0x107042140>} LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug LLDB-165 Path: /Volumes/data/lldb/svn/ToT URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk Repository Root: https://johnny@llvm.org/svn/llvm-project Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8 Revision: 162231 Node Kind: directory Schedule: normal Last Changed Author: johnny Last Changed Rev: 162228 Last Changed Date: 2012-08-20 14:16:02 -0700 (Mon, 20 Aug 2012) lldb.pre_flight: def pre_flight(self): import os import lldb import lldbtest dest = os.path.join("/tmp", "lldb_log-%s-%s-%s.txt" % (self.getArchitecture(), self.getCompiler(), self.id())) print "\nEnabling lldb logging for test case:", self print "with log destination:", dest self.runCmd("log enable -f %s gdb-remote packets process" % dest) lldb.post_flight: None Session logs for test failures/errors/unexpected successes will go into directory '2012-08-22-11_36_37' Command invoked: python ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-loggings functionalities/breakpoint/breakpoint_command compilers=['clang'] Configuration: arch=x86_64 compiler=clang ---------------------------------------------------------------------- Collected 2 tests 1: test_with_dsym (TestBreakpointCommand.BreakpointCommandTestCase) Test a sequence of breakpoint command add, list, and delete. ... Enabling lldb logging for test case: test_with_dsym (TestBreakpointCommand.BreakpointCommandTestCase) with log destination: /tmp/lldb_log-x86_64-clang-TestBreakpointCommand.BreakpointCommandTestCase.test_with_dsym.txt ok 2: test_with_dwarf (TestBreakpointCommand.BreakpointCommandTestCase) Test a sequence of breakpoint command add, list, and delete. ... Enabling lldb logging for test case: test_with_dwarf (TestBreakpointCommand.BreakpointCommandTestCase) with log destination: /tmp/lldb_log-x86_64-clang-TestBreakpointCommand.BreakpointCommandTestCase.test_with_dwarf.txt ok ---------------------------------------------------------------------- Ran 2 tests in 7.826s OK [11:36:44] johnny:/Volumes/data/lldb/svn/ToT/test $ ls -l /tmp/lldb_log* -rw-r----- 1 johnny wheel 614614 Aug 22 11:36 /tmp/lldb_log-x86_64-clang-TestBreakpointCommand.BreakpointCommandTestCase.test_with_dsym.txt -rw-r----- 1 johnny wheel 614614 Aug 22 11:36 /tmp/lldb_log-x86_64-clang-TestBreakpointCommand.BreakpointCommandTestCase.test_with_dwarf.txt [11:37:09] johnny:/Volumes/data/lldb/svn/ToT/test $ # # And this shows the log files go into the session directory. # Note that the .lldb-loggings file is modified to get the session directory now. # [11:37:09] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-loggings functionalities/breakpoint/breakpoint_command config: {'pre_flight': <function pre_flight at 0x10ca5c1b8>} LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug LLDB-165 Path: /Volumes/data/lldb/svn/ToT URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk Repository Root: https://johnny@llvm.org/svn/llvm-project Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8 Revision: 162231 Node Kind: directory Schedule: normal Last Changed Author: johnny Last Changed Rev: 162228 Last Changed Date: 2012-08-20 14:16:02 -0700 (Mon, 20 Aug 2012) lldb.pre_flight: def pre_flight(self): import os import lldb import lldbtest dname = os.path.join(os.environ["LLDB_TEST"], os.environ["LLDB_SESSION_DIRNAME"]) if not os.path.isdir(dname): os.mkdir(dname) dest = os.path.join(dname, "lldb_log-%s-%s-%s.txt" % (self.getArchitecture(), self.getCompiler(), self.id())) print "\nEnabling lldb logging for test case:", self print "with log destination:", dest self.runCmd("log enable -f %s gdb-remote packets process" % dest) lldb.post_flight: None Session logs for test failures/errors/unexpected successes will go into directory '2012-08-22-13_21_46' Command invoked: python ./dotest.py -A x86_64 -v -c ../examples/test/.lldb-loggings functionalities/breakpoint/breakpoint_command compilers=['clang'] Configuration: arch=x86_64 compiler=clang ---------------------------------------------------------------------- Collected 2 tests 1: test_with_dsym (TestBreakpointCommand.BreakpointCommandTestCase) Test a sequence of breakpoint command add, list, and delete. ... Enabling lldb logging for test case: test_with_dsym (TestBreakpointCommand.BreakpointCommandTestCase) with log destination: /Volumes/data/lldb/svn/ToT/test/2012-08-22-13_21_46/lldb_log-x86_64-clang-TestBreakpointCommand.BreakpointCommandTestCase.test_with_dsym.txt ok 2: test_with_dwarf (TestBreakpointCommand.BreakpointCommandTestCase) Test a sequence of breakpoint command add, list, and delete. ... Enabling lldb logging for test case: test_with_dwarf (TestBreakpointCommand.BreakpointCommandTestCase) with log destination: /Volumes/data/lldb/svn/ToT/test/2012-08-22-13_21_46/lldb_log-x86_64-clang-TestBreakpointCommand.BreakpointCommandTestCase.test_with_dwarf.txt ok ---------------------------------------------------------------------- Ran 2 tests in 8.575s OK [13:21:55] johnny:/Volumes/data/lldb/svn/ToT/test $