Compiler projects using llvm
# -*- 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