[Lldb-commits] [lldb] r236963 - Fixed lldb-mi test failures introduced by r236956
Vince Harron
vince at nethacker.com
Sun May 10 15:01:59 PDT 2015
Author: vharron
Date: Sun May 10 17:01:59 2015
New Revision: 236963
URL: http://llvm.org/viewvc/llvm-project?rev=236963&view=rev
Log:
Fixed lldb-mi test failures introduced by r236956
Move enable/disableLogForCurrentTest from lldbtest.TestBase to
lldbtest.Base so they're accessible to Mi tests
Modified:
lldb/trunk/test/lldbtest.py
Modified: lldb/trunk/test/lldbtest.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/lldbtest.py?rev=236963&r1=236962&r2=236963&view=diff
==============================================================================
--- lldb/trunk/test/lldbtest.py (original)
+++ lldb/trunk/test/lldbtest.py Sun May 10 17:01:59 2015
@@ -965,6 +965,55 @@ class Base(unittest2.TestCase):
else:
return True
+ def enableLogChannelsForCurrentTest(self):
+ if len(lldbtest_config.channels) == 0:
+ return
+
+ # if debug channels are specified in lldbtest_config.channels,
+ # create a new set of log files for every test
+ log_basename = self.getLogBasenameForCurrentTest()
+
+ # confirm that the file is writeable
+ host_log_path = "{}-host.log".format(log_basename)
+ open(host_log_path, 'w').close()
+
+ log_enable = "log enable -Tpn -f {} ".format(host_log_path)
+ for channel_with_categories in lldbtest_config.channels:
+ channel_then_categories = channel_with_categories.split(' ', 1)
+ channel = channel_then_categories[0]
+ if len(channel_then_categories) > 1:
+ categories = channel_then_categories[1]
+ else:
+ categories = "default"
+
+ if channel == "gdb-remote":
+ # communicate gdb-remote categories to debugserver
+ os.environ["LLDB_DEBUGSERVER_LOG_FLAGS"] = categories
+
+ self.ci.HandleCommand(log_enable + channel_with_categories, self.res)
+ if not self.res.Succeeded():
+ raise Exception('log enable failed (check LLDB_LOG_OPTION env variable)')
+
+ # Communicate log path name to debugserver & lldb-server
+ server_log_path = "{}-server.log".format(log_basename)
+ open(server_log_path, 'w').close()
+ os.environ["LLDB_DEBUGSERVER_LOG_FILE"] = server_log_path
+
+ # Communicate channels to lldb-server
+ os.environ["LLDB_SERVER_LOG_CHANNELS"] = ":".join(lldbtest_config.channels)
+
+ if len(lldbtest_config.channels) == 0:
+ return
+
+ def disableLogChannelsForCurrentTest(self):
+ # close all log files that we opened
+ for channel_and_categories in lldbtest_config.channels:
+ # channel format - <channel-name> [<category0> [<category1> ...]]
+ channel = channel_and_categories.split(' ', 1)[0]
+ self.ci.HandleCommand("log disable " + channel, self.res)
+ if not self.res.Succeeded():
+ raise Exception('log disable failed (check LLDB_LOG_OPTION env variable)')
+
def setUp(self):
"""Fixture for unittest test case setup.
@@ -1095,6 +1144,25 @@ class Base(unittest2.TestCase):
# set environment variable names for finding shared libraries
self.dylibPath = self.platformContext.shlib_environment_var
+ # Create the debugger instance if necessary.
+ try:
+ self.dbg = lldb.DBG
+ except AttributeError:
+ self.dbg = lldb.SBDebugger.Create()
+
+ if not self.dbg:
+ raise Exception('Invalid debugger instance')
+
+ # Retrieve the associated command interpreter instance.
+ self.ci = self.dbg.GetCommandInterpreter()
+ if not self.ci:
+ raise Exception('Could not get the command interpreter')
+
+ # And the result object.
+ self.res = lldb.SBCommandReturnObject()
+
+ self.enableLogChannelsForCurrentTest()
+
def runHooks(self, child=None, child_prompt=None, use_cmd_api=False):
"""Perform the run hooks to bring lldb debugger to the desired state.
@@ -1867,55 +1935,6 @@ class TestBase(Base):
folder = os.path.dirname(folder)
continue
- def enableLogChannelsForCurrentTest(self):
- if len(lldbtest_config.channels) == 0:
- return
-
- # if debug channels are specified in lldbtest_config.channels,
- # create a new set of log files for every test
- log_basename = self.getLogBasenameForCurrentTest()
-
- # confirm that the file is writeable
- host_log_path = "{}-host.log".format(log_basename)
- open(host_log_path, 'w').close()
-
- log_enable = "log enable -Tpn -f {} ".format(host_log_path)
- for channel_with_categories in lldbtest_config.channels:
- channel_then_categories = channel_with_categories.split(' ', 1)
- channel = channel_then_categories[0]
- if len(channel_then_categories) > 1:
- categories = channel_then_categories[1]
- else:
- categories = "default"
-
- if channel == "gdb-remote":
- # communicate gdb-remote categories to debugserver
- os.environ["LLDB_DEBUGSERVER_LOG_FLAGS"] = categories
-
- self.ci.HandleCommand(log_enable + channel_with_categories, self.res)
- if not self.res.Succeeded():
- raise Exception('log enable failed (check LLDB_LOG_OPTION env variable)')
-
- # Communicate log path name to debugserver & lldb-server
- server_log_path = "{}-server.log".format(log_basename)
- open(server_log_path, 'w').close()
- os.environ["LLDB_DEBUGSERVER_LOG_FILE"] = server_log_path
-
- # Communicate channels to lldb-server
- os.environ["LLDB_SERVER_LOG_CHANNELS"] = ":".join(lldbtest_config.channels)
-
- if len(lldbtest_config.channels) == 0:
- return
-
- def disableLogChannelsForCurrentTest(self):
- # close all log files that we opened
- for channel_and_categories in lldbtest_config.channels:
- # channel format - <channel-name> [<category0> [<category1> ...]]
- channel = channel_and_categories.split(' ', 1)[0]
- self.ci.HandleCommand("log disable " + channel, self.res)
- if not self.res.Succeeded():
- raise Exception('log disable failed (check LLDB_LOG_OPTION env variable)')
-
def setUp(self):
#import traceback
#traceback.print_stack()
@@ -1943,42 +1962,6 @@ class TestBase(Base):
if "LLDB_TIME_WAIT_NEXT_LAUNCH" in os.environ:
self.timeWaitNextLaunch = float(os.environ["LLDB_TIME_WAIT_NEXT_LAUNCH"])
- # Create the debugger instance if necessary.
- try:
- self.dbg = lldb.DBG
- except AttributeError:
- self.dbg = lldb.SBDebugger.Create()
-
- if not self.dbg:
- raise Exception('Invalid debugger instance')
-
- # Retrieve the associated command interpreter instance.
- self.ci = self.dbg.GetCommandInterpreter()
- if not self.ci:
- raise Exception('Could not get the command interpreter')
-
- # And the result object.
- self.res = lldb.SBCommandReturnObject()
-
- # Create the debugger instance if necessary.
- try:
- self.dbg = lldb.DBG
- except AttributeError:
- self.dbg = lldb.SBDebugger.Create()
-
- if not self.dbg:
- raise Exception('Invalid debugger instance')
-
- # Retrieve the associated command interpreter instance.
- self.ci = self.dbg.GetCommandInterpreter()
- if not self.ci:
- raise Exception('Could not get the command interpreter')
-
- # And the result object.
- self.res = lldb.SBCommandReturnObject()
-
- self.enableLogChannelsForCurrentTest()
-
#
# Warning: MAJOR HACK AHEAD!
# If we are running testsuite remotely (by checking lldb.lldbtest_remote_sandbox),
More information about the lldb-commits
mailing list