summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-05-17 18:02:34 +0000
committerZachary Turner <zturner@google.com>2016-05-17 18:02:34 +0000
commit8d4d151bb2a13a5b953c5ccaaec743286def5b99 (patch)
tree99bfa18a9eb2f62e68d0eb1f72841354e5a554c3 /lldb/packages/Python/lldbsuite/test
parent7a19307705f54ea095f361a4cedb3a7377178687 (diff)
downloadbcm5719-llvm-8d4d151bb2a13a5b953c5ccaaec743286def5b99.tar.gz
bcm5719-llvm-8d4d151bb2a13a5b953c5ccaaec743286def5b99.zip
Allow custom formatting of session log file names.
Differential Revision: http://reviews.llvm.org/D20306 llvm-svn: 269793
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/configuration.py9
-rw-r--r--lldb/packages/Python/lldbsuite/test/dosep.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/dotest.py1
-rw-r--r--lldb/packages/Python/lldbsuite/test/dotest_args.py2
-rw-r--r--lldb/packages/Python/lldbsuite/test/lldbtest.py32
5 files changed, 33 insertions, 12 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/configuration.py b/lldb/packages/Python/lldbsuite/test/configuration.py
index 69ed9fc32e2..d797b17c164 100644
--- a/lldb/packages/Python/lldbsuite/test/configuration.py
+++ b/lldb/packages/Python/lldbsuite/test/configuration.py
@@ -100,6 +100,15 @@ regexp = None
# run. Use '-s session-dir-name' to specify a specific dir name.
sdir_name = None
+# Valid options:
+# f - test file name (without extension)
+# n - test class name
+# m - test method name
+# a - architecture
+# c - compiler path
+# The default is to write all fields.
+session_file_format = 'fnmac'
+
# Set this flag if there is any session info dumped during the test run.
sdir_has_content = False
diff --git a/lldb/packages/Python/lldbsuite/test/dosep.py b/lldb/packages/Python/lldbsuite/test/dosep.py
index 7d9dcd938aa..37ca91adb14 100644
--- a/lldb/packages/Python/lldbsuite/test/dosep.py
+++ b/lldb/packages/Python/lldbsuite/test/dosep.py
@@ -426,6 +426,7 @@ def process_dir(root, files, dotest_argv, inferior_pid_events):
script_file = main.__file__
command = ([sys.executable, script_file] +
dotest_argv +
+ ["-S", dotest_options.session_file_format] +
["--inferior", "-p", base_name, root])
timeout_name = os.path.basename(os.path.splitext(base_name)[0]).upper()
diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py
index bffdf41709c..702e57e9987 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest.py
@@ -321,6 +321,7 @@ def parseOptionsAndInitTestdirs():
if args.s.startswith('-'):
usage(parser)
configuration.sdir_name = args.s
+ configuration.session_file_format = args.session_file_format
if args.t:
os.environ['LLDB_COMMAND_TRACE'] = 'YES'
diff --git a/lldb/packages/Python/lldbsuite/test/dotest_args.py b/lldb/packages/Python/lldbsuite/test/dotest_args.py
index 105156df7e8..8bbc29c98f0 100644
--- a/lldb/packages/Python/lldbsuite/test/dotest_args.py
+++ b/lldb/packages/Python/lldbsuite/test/dotest_args.py
@@ -11,6 +11,7 @@ import textwrap
# Third-party modules
# LLDB modules
+from . import configuration
class ArgParseNamespace(object):
pass
@@ -70,6 +71,7 @@ def create_parser():
group.add_argument('--framework', metavar='framework-path', help='The path to LLDB.framework')
group.add_argument('--executable', metavar='executable-path', help='The path to the lldb executable')
group.add_argument('-s', metavar='name', help='Specify the name of the dir created to store the session files of tests with errored or failed status. If not specified, the test driver uses the timestamp as the session dir name')
+ group.add_argument('-S', '--session-file-format', default=configuration.session_file_format, metavar='format', help='Specify session file name format. See configuration.py for a description.')
group.add_argument('-y', type=int, metavar='count', help="Specify the iteration count used to collect our benchmarks. An example is the number of times to do 'thread step-over' to measure stepping speed.")
group.add_argument('-#', type=int, metavar='sharp', dest='sharp', help='Repeat the test suite for a specified number of times')
group.add_argument('--channel', metavar='channel', dest='channels', action='append', help=textwrap.dedent("Specify the log channels (and optional categories) e.g. 'lldb all' or 'gdb-remote packets' if no categories are specified, 'default' is used"))
diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py
index 14b9876e407..b9168ec1fbd 100644
--- a/lldb/packages/Python/lldbsuite/test/lldbtest.py
+++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py
@@ -962,19 +962,27 @@ class Base(unittest2.TestCase):
if not os.path.isdir(dname):
os.mkdir(dname)
- compiler = self.getCompiler()
-
- if compiler[1] == ':':
- compiler = compiler[2:]
- if os.path.altsep is not None:
- compiler = compiler.replace(os.path.altsep, os.path.sep)
-
- fname = "{}-{}-{}".format(self.id(), self.getArchitecture(), "_".join(compiler.split(os.path.sep)))
- if len(fname) > 200:
- fname = "{}-{}-{}".format(self.id(), self.getArchitecture(), compiler.split(os.path.sep)[-1])
-
+ components = []
if prefix is not None:
- fname = "{}-{}".format(prefix, fname)
+ components.append(prefix)
+ for c in configuration.session_file_format:
+ if c == 'f':
+ components.append(self.__class__.__module__)
+ elif c == 'n':
+ components.append(self.__class__.__name__)
+ elif c == 'c':
+ compiler = self.getCompiler()
+
+ if compiler[1] == ':':
+ compiler = compiler[2:]
+ if os.path.altsep is not None:
+ compiler = compiler.replace(os.path.altsep, os.path.sep)
+ components.extend([x for x in compiler.split(os.path.sep) if x != ""])
+ elif c == 'a':
+ components.append(self.getArchitecture())
+ elif c == 'm':
+ components.append(self.testMethodName)
+ fname = "-".join(components)
return os.path.join(dname, fname)
OpenPOWER on IntegriCloud