blob: 1560848b1f756cb9f93bcf6669760e56d4eab918 [file] [log] [blame]
# -*- Python -*- vim: set ft=python ts=4 sw=4 expandtab tw=79:
from lit.llvm.subst import ToolSubst
import site
# Load the custom analyzer test format, which runs the test again with Z3 if it
# is available.
site.addsitedir(os.path.dirname(__file__))
import analyzer_test
config.test_format = analyzer_test.AnalyzerTest(
config.test_format.execute_external, config.use_z3_solver)
# Filtering command used by Clang Analyzer tests (when comparing .plist files
# with reference output)
config.substitutions.append(('%normalize_plist',
"grep -Ev '%s|%s|%s'" %
('^[[:space:]]*<string>.* version .*</string>[[:space:]]*$',
'^[[:space:]]*<string>/.*</string>[[:space:]]*$',
'^[[:space:]]*<string>.:.*</string>[[:space:]]*$')))
# Filtering command for testing SARIF output against reference output.
config.substitutions.append(('%normalize_sarif',
"grep -Ev '^[[:space:]]*(%s|%s|%s)[[:space:]]*$'" %
('"uri": "file:.*%basename_t"',
'"version": ".* version .*"',
'"version": "2.1.0"')))
if not config.root.clang_staticanalyzer:
config.unsupported = True
fc = ToolSubst('FileCheck', unresolved='fatal')
# Insert this first. Then, we'll first update the blank FileCheck command; then,
# the default substitution of FileCheck will replace it to its full path.
config.substitutions.insert(0, (fc.regex,
'FileCheck --allow-unused-prefixes=false'))