llvm-project/clang/test/Analysis/lit.local.cfg

25 lines
894 B
INI
Raw Normal View History

import lit.TestRunner
# Custom format class for static analyzer tests
class AnalyzerTest(lit.formats.ShTest, object):
def execute(self, test, litConfig):
result = self.executeWithAnalyzeSubstitution(test, litConfig, '-analyzer-constraints=range')
if result.code == lit.Test.FAIL:
return result
return result
def executeWithAnalyzeSubstitution(self, test, litConfig, substitution):
saved_substitutions = list(test.config.substitutions)
test.config.substitutions.append(('%analyze', substitution))
result = lit.TestRunner.executeShTest(test, litConfig, self.execute_external)
test.config.substitutions = saved_substitutions
return result
# This results in a pickling-related failure on Windows
if (not sys.platform in ['win32']):
config.test_format = AnalyzerTest(config.test_format.execute_external)