mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-06 01:22:41 +00:00
[dotest] Add --dwarf-version to override the tested DWARF version.
On the matrix bot on GreenDragon [1] we want to run the test suite against different DWARF versions. The idea here is not to replace targeted tests for certain DWARF features, but rather to provide an easy way to support this configuration. [1] http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-matrix/ Differential revision: https://reviews.llvm.org/D66370 llvm-svn: 369272
This commit is contained in:
parent
ec4540d8a6
commit
8880ac648c
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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(
|
||||
|
@ -125,6 +125,12 @@ def create_parser():
|
||||
dest='out_of_tree_debugserver',
|
||||
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',
|
||||
|
@ -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(
|
||||
|
Loading…
x
Reference in New Issue
Block a user