diff options
author | Galina Kistanova <gkistanova@gmail.com> | 2011-06-03 18:36:30 +0000 |
---|---|---|
committer | Galina Kistanova <gkistanova@gmail.com> | 2011-06-03 18:36:30 +0000 |
commit | ee22697a56f3035419e71762134ff7ea0d8f1eb8 (patch) | |
tree | e97fd730425699027361614e724dee7ea6fea9e6 /test/lit.cfg | |
parent | 5a4cca2cc576bb42309e3e86befaa904283e9c8c (diff) |
Added registered targets for in-test dependency declarations.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132571 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/lit.cfg')
-rw-r--r-- | test/lit.cfg | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/lit.cfg b/test/lit.cfg index 4b9d529b7d..e18105df19 100644 --- a/test/lit.cfg +++ b/test/lit.cfg @@ -171,3 +171,33 @@ if platform.system() != 'Windows': # Shell execution if platform.system() not in ['Windows'] or lit.getBashPath() != '': config.available_features.add('shell') + +# Registered Targets +import subprocess +import re +import os + +def getRegisteredTargets(tool): + set_of_targets = set() + + cmd = subprocess.Popen([tool, '-version'], stdout=subprocess.PIPE) + + # Parse the stdout to get the list of registered targets. + parse_targets = False + for line in cmd.stdout: + if parse_targets: + m = re.match( r'(.*) - ', line) + if m is not None: + set_of_targets.add(m.group(1).strip() + '-registered-target') + else: + break + elif "Registered Targets:" in line: + parse_targets = True + + return set_of_targets + +registered_targets = getRegisteredTargets(os.path.join(llvm_tools_dir, 'llc')) +if len(registered_targets) > 0: + config.available_features.update(registered_targets) +else: + lit.fatal('No Targets Registered with the LLVM Tools!') |