Add support to lit for build mode requirements. e.g.

REQUIRES: Asserts
REQUIRES: Debug

This required chaining test configuration properties. It seems like a
generally good thing to do.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133131 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Andrew Trick
2011-06-16 01:33:35 +00:00
parent 6fce128dd1
commit 05c087d893
4 changed files with 13 additions and 3 deletions

View File

@@ -473,9 +473,11 @@ def parseIntegratedTestScript(test, normalize_slashes=False):
if script[-1][-1] == '\\':
return (Test.UNRESOLVED, "Test has unterminated run lines (with '\\')")
# Check that we have the required features:
# Check that we have the required features or build modes:
missing_required_features = [f for f in requires
if f not in test.config.available_features]
if f not in test.config.available_features
and f not in test.config.llvm_build_modes]
if missing_required_features:
msg = ', '.join(missing_required_features)
return (Test.UNSUPPORTED,

View File

@@ -74,6 +74,7 @@ class TestingConfig:
def clone(self, path):
# FIXME: Chain implementations?
# See attribute chaining in finish()
#
# FIXME: Allow extra parameters?
cfg = TestingConfig(self, self.name, self.suffixes, self.test_format,
@@ -101,3 +102,9 @@ class TestingConfig:
# files. Should we distinguish them?
self.test_source_root = str(self.test_source_root)
self.excludes = set(self.excludes)
# chain attributes by copying them
if self.parent:
for k,v in vars(self.parent).items():
if not hasattr(self, k):
setattr(self, k, v)