Commit 8b597e29 authored by Michael Achenbach's avatar Michael Achenbach Committed by Michael Starzinger

Reland "[test] Add back lsan leak detection"

Reland of:
https://codereview.chromium.org/2592663004/

BUG=chromium:656900
TBR=yangguo@chromium.org, glider@chromium.org, titzer@chromium.org

Change-Id: I89b5c6b7a4214e25b4fea6d2ee33cd31b47320cc
Reviewed-on: https://chromium-review.googlesource.com/435319Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#42846}
parent d369c4dc
......@@ -61,6 +61,11 @@ template("v8_isolate_run") {
} else {
asan = "0"
}
if (is_lsan) {
lsan = "1"
} else {
lsan = "0"
}
if (is_msan) {
msan = "1"
} else {
......@@ -158,6 +163,8 @@ template("v8_isolate_run") {
"--config-variable",
"is_gn=1",
"--config-variable",
"lsan=$lsan",
"--config-variable",
"msan=$msan",
"--config-variable",
"tsan=$tsan",
......
......@@ -75,6 +75,7 @@
'--config-variable', 'has_valgrind=<(has_valgrind)',
'--config-variable', 'icu_use_data_file_flag=<(icu_use_data_file_flag)',
'--config-variable', 'is_gn=0',
'--config-variable', 'lsan=<(lsan)',
'--config-variable', 'msan=<(msan)',
'--config-variable', 'tsan=<(tsan)',
'--config-variable', 'coverage=<(coverage)',
......
......@@ -218,6 +218,7 @@ def main():
def run_d8(d8, config_flags):
args = [d8] + config_flags + PREAMBLE + [options.testcase]
print " ".join(args)
if d8.endswith('.py'):
# Wrap with python in tests.
args = [sys.executable] + args
......
# Do not add new suppressions below.
# TODO(machenbach): Delete this file as soon as it is empty.
# cctest
leak:v8::internal::Debug::NextAsyncTaskId
leak:v8::internal::wasm::DecodeWasmModule
leak:v8::internal::wasm::WasmInterpreter::WasmInterpreter
leak:v8::internal::WasmDebugInfo::SetBreakpoint
# debugger
leak:v8_inspector::WasmTranslation::TranslatorImpl::DisassemblingTranslator::AddFakeScript
leak:v8::internal::compiler::JumpThreading::ApplyForwarding
# mjsunit
leak:v8::internal::FuncNameInferrer::FuncNameInferrer
leak:v8::internal::JSArrayBuffer::SetupAllocatingData
# unittests
leak:v8::internal::Isolate::FindOrAllocatePerThreadDataForThisThread
......@@ -403,7 +403,15 @@ def SetupEnvironment(options):
)
if options.asan:
os.environ['ASAN_OPTIONS'] = symbolizer
asan_options = [symbolizer]
if not utils.GuessOS() == 'macos':
# LSAN is not available on mac.
asan_options.append('detect_leaks=1')
os.environ['LSAN_OPTIONS'] = ":".join([
'suppressions=%s' % os.path.join(
BASE_DIR, 'tools', 'memory', 'lsan', 'suppressions.txt'),
])
os.environ['ASAN_OPTIONS'] = ":".join(asan_options)
if options.sancov_dir:
assert os.path.exists(options.sancov_dir)
......
......@@ -27,5 +27,12 @@
],
},
}],
['lsan==1', {
'variables': {
'files': [
'../memory/lsan/suppressions.txt',
],
},
}],
],
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment