blob: 4ff672b6a60a4023c80712c55b36715697643140 [file] [log] [blame]
# -*- Python -*-
# Common configuration for running leak detection tests under LSan/ASan.
import os
def get_required_attr(config, attr_name):
attr_value = getattr(config, attr_name, None)
if not attr_value:
lit.fatal("No attribute %r in test configuration! You may need to run "
"tests from your build directory or add this attribute "
"to lit.site.cfg " % attr_name)
return attr_value
# Setup source root.
lsan_lit_src_root = get_required_attr(config, 'lsan_lit_src_root')
config.test_source_root = os.path.join(lsan_lit_src_root, 'TestCases')
clang_cxxflags = ("--driver-mode=g++ "
+ "-g "
+ "-O0 "
+ "-m64 ")
config.clang_cxxflags = clang_cxxflags
config.substitutions.append( ("%clangxx ", (" " + config.clang + " " +
clang_cxxflags + " ")) )
# LeakSanitizer tests are currently supported on x86-64 Linux only.
if config.host_os not in ['Linux'] or config.host_arch not in ['x86_64']:
config.unsupported = True
config.suffixes = ['.c', '.cc', '.cpp']
config.pipefail = False