# -*- 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