diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
5 files changed, 22 insertions, 7 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/configuration.py b/lldb/packages/Python/lldbsuite/test/configuration.py index 7f1d40d..c9ca1e4 100644 --- a/lldb/packages/Python/lldbsuite/test/configuration.py +++ b/lldb/packages/Python/lldbsuite/test/configuration.py @@ -43,6 +43,9 @@ count = 1 arch = None # Must be initialized after option parsing compiler = None # Must be initialized after option parsing +# The overriden dwarf verison. +dwarf_version = 0 + # Path to the FileCheck testing tool. Not optional. filecheck = None diff --git a/lldb/packages/Python/lldbsuite/test/decorators.py b/lldb/packages/Python/lldbsuite/test/decorators.py index 272460f..fd0aecf 100644 --- a/lldb/packages/Python/lldbsuite/test/decorators.py +++ b/lldb/packages/Python/lldbsuite/test/decorators.py @@ -194,11 +194,9 @@ def _decorateTest(mode, macos_version[0], macos_version[1], platform.mac_ver()[0]))) - skip_for_dwarf_version = ( - dwarf_version is None) or ( - (self.getDebugInfo() is 'dwarf') and - _check_expected_version( - dwarf_version[0], dwarf_version[1], self.getDwarfVersion())) + skip_for_dwarf_version = (dwarf_version is None) or ( + _check_expected_version(dwarf_version[0], dwarf_version[1], + self.getDwarfVersion())) # For the test to be skipped, all specified (e.g. not None) parameters must be True. # An unspecified parameter means "any", so those are marked skip by default. And we skip diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py index ce58588..7593c0d 100644 --- a/lldb/packages/Python/lldbsuite/test/dotest.py +++ b/lldb/packages/Python/lldbsuite/test/dotest.py @@ -342,9 +342,15 @@ def parseOptionsAndInitTestdirs(): configuration.skipCategories += test_categories.validate( args.skipCategories, False) + cflags_extras = "" if args.E: - cflags_extras = args.E - os.environ['CFLAGS_EXTRAS'] = cflags_extras + cflags_extras += args.E + + if args.dwarf_version: + configuration.dwarf_version = args.dwarf_version + cflags_extras += '-gdwarf-{}'.format(args.dwarf_version) + + os.environ['CFLAGS_EXTRAS'] = cflags_extras if args.d: sys.stdout.write( diff --git a/lldb/packages/Python/lldbsuite/test/dotest_args.py b/lldb/packages/Python/lldbsuite/test/dotest_args.py index 4b04552..45fb42c 100644 --- a/lldb/packages/Python/lldbsuite/test/dotest_args.py +++ b/lldb/packages/Python/lldbsuite/test/dotest_args.py @@ -126,6 +126,12 @@ def create_parser(): action='store_true', help='A flag to indicate an out-of-tree debug server is being used') group.add_argument( + '--dwarf-version', + metavar='dwarf_version', + dest='dwarf_version', + type=int, + help='Override the DWARF version.') + 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') diff --git a/lldb/packages/Python/lldbsuite/test/lldbtest.py b/lldb/packages/Python/lldbsuite/test/lldbtest.py index dd4651c..f65cc30 100644 --- a/lldb/packages/Python/lldbsuite/test/lldbtest.py +++ b/lldb/packages/Python/lldbsuite/test/lldbtest.py @@ -1290,6 +1290,8 @@ class Base(unittest2.TestCase): def getDwarfVersion(self): """ Returns the dwarf version generated by clang or '0'. """ + if configuration.dwarf_version: + return str(configuration.dwarf_version) if 'clang' in self.getCompiler(): try: driver_output = check_output( |