From 76b0104270b0a7f3ce7d40ddde2b6d6c8cb944db Mon Sep 17 00:00:00 2001 From: Qin Zhao Date: Wed, 18 Nov 2015 17:07:53 -0500 Subject: Add Dr. Memory suppression file for pdfium tests - add suppressions.txt in tools/drmemory/ - update pdfium_tests.py to read suppression file R=thestig@chromium.org BUG=pdfium:238 Review URL: https://codereview.chromium.org/1454193002 . --- tools/drmemory/scripts/pdfium_tests.py | 21 ++------------------- tools/drmemory/suppressions.txt | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 19 deletions(-) create mode 100644 tools/drmemory/suppressions.txt diff --git a/tools/drmemory/scripts/pdfium_tests.py b/tools/drmemory/scripts/pdfium_tests.py index 6cc7d57f53..5486b16046 100644 --- a/tools/drmemory/scripts/pdfium_tests.py +++ b/tools/drmemory/scripts/pdfium_tests.py @@ -97,14 +97,13 @@ class ChromeTests: # tools/valgrind/TOOL/suppressions[_PLATFORM].txt # and list them with --suppressions= prefix. script_dir = path_utils.ScriptDir() - tool_name = tool.ToolName(); - suppression_file = os.path.join(script_dir, tool_name, "suppressions.txt") + suppression_file = os.path.join(script_dir, "..", "suppressions.txt") if os.path.exists(suppression_file): cmd.append("--suppressions=%s" % suppression_file) # Platform-specific suppression for platform in common.PlatformNames(): platform_suppression_file = \ - os.path.join(script_dir, tool_name, 'suppressions_%s.txt' % platform) + os.path.join(script_dir, "..", 'suppressions_%s.txt' % platform) if os.path.exists(platform_suppression_file): cmd.append("--suppressions=%s" % platform_suppression_file) @@ -121,22 +120,6 @@ class ChromeTests: if not os.path.exists(exe_path): raise ExecutableNotFound("Couldn't find '%s'" % exe_path) - # Make sure we don't try to test ASan-built binaries - # with other dynamic instrumentation-based tools. - # TODO(timurrrr): also check TSan and MSan? - # `nm` might not be available, so use try-except. - try: - # Do not perform this check on OS X, as 'nm' on 10.6 can't handle - # binaries built with Clang 3.5+. - if not common.IsMac(): - nm_output = subprocess.check_output(["nm", exe_path]) - if nm_output.find("__asan_init") != -1: - raise BadBinary("You're trying to run an executable instrumented " - "with AddressSanitizer under %s. Please provide " - "an uninstrumented executable." % tool_name) - except OSError: - pass - cmd.append(exe_path) # Valgrind runs tests slowly, so slow tests hurt more; show elapased time # so we can find the slowpokes. diff --git a/tools/drmemory/suppressions.txt b/tools/drmemory/suppressions.txt new file mode 100644 index 0000000000..c6b8d8227b --- /dev/null +++ b/tools/drmemory/suppressions.txt @@ -0,0 +1,27 @@ +# This file contains suppressions for the Dr.Memory tool, see +# http://dev.chromium.org/developers/how-tos/using-drmemory + + +# Intended alloc failure +WARNING +name=unittests:fxcrt.FX_AllocOverflow +drmemorylib.dll!replace_calloc +... +*!fxcrt_FX_*AllocOverflow*_Test::TestBody + +# DrMem-i#471: simple floating register copy without meaningful usage +UNINITIALIZED READ +name=embeddertests:DrM-i#471 +*!v8::internal::RegisterValues::GetDoubleRegister +*!v8::internal::FrameDescription::GetDoubleRegister +*!v8::internal::Deoptimizer::CopyDoubleRegisters +*!v8::internal::Deoptimizer::DoComputeCompiledStubFrame +*!v8::internal::Deoptimizer::DoComputeOutputFrames +*!v8::internal::Deoptimizer::ComputeOutputFrames +*!v8::internal::`anonymous namespace'::Invoke +*!v8::internal::Execution::Call +*!v8::internal::Bootstrapper::CompileNative +*!v8::internal::Bootstrapper::CompileExperimentalBuiltin +*!v8::internal::Genesis::InstallExperimentalNatives +*!v8::internal::Genesis::Genesis +*!v8::internal::Bootstrapper::CreateEnvironment -- cgit v1.2.3