35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
# -*- 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'))
|