Remove duplicate implementation of excludes functionality, and support excluding

dirnames.

Also, add support for the 'unsupported' config property.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88838 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Daniel Dunbar 2009-11-15 07:22:58 +00:00
parent 052d9cb0a8
commit 048bac35df

View File

@ -101,13 +101,12 @@ class SyntaxCheckTest:
# FIXME: Refactor into generic test for running some command on a directory
# of inputs.
def __init__(self, compiler, dir, recursive, pattern, excludes=[],
def __init__(self, compiler, dir, recursive, pattern,
extra_cxx_args=[]):
self.compiler = str(compiler)
self.dir = str(dir)
self.recursive = bool(recursive)
self.pattern = re.compile(pattern)
self.excludes = list(excludes)
self.extra_cxx_args = list(extra_cxx_args)
def getTestsInDirectory(self, testSuite, path_in_suite,
@ -116,23 +115,13 @@ class SyntaxCheckTest:
if not self.recursive:
subdirs[:] = []
if dirname.__contains__('.svn'):
if dirname == '.svn' or dirname in localConfig.excludes:
continue
for filename in filenames:
if (not self.pattern.match(filename) or
filename in localConfig.excludes):
continue
# Skip any files that were specifically excluded.
excluded = False
for exclude in self.excludes:
if filename.__contains__(exclude):
excluded = True
break
if excluded:
continue
path = os.path.join(dirname,filename)
suffix = path[len(self.dir):]
@ -146,6 +135,9 @@ class SyntaxCheckTest:
yield test
def execute(self, test, litConfig):
if test.config.unsupported:
return (Test.UNSUPPORTED, 'Test is unsupported')
tmp = tempfile.NamedTemporaryFile(suffix='.cpp')
print >>tmp, '#include "%s"' % test.source_path
tmp.flush()