summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQin Zhao <zhaoqin@google.com>2015-11-18 17:07:53 -0500
committerQin Zhao <zhaoqin@google.com>2015-11-18 17:07:53 -0500
commit76b0104270b0a7f3ce7d40ddde2b6d6c8cb944db (patch)
tree8566bfe2c24ddc4b5285100f290d6395b8813bdd
parent97f900e93e6a96b164b33bfe1228f383d9a5ecd3 (diff)
downloadpdfium-76b0104270b0a7f3ce7d40ddde2b6d6c8cb944db.tar.xz
Add Dr. Memory suppression file for pdfium testschromium/2568
- 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 .
-rw-r--r--tools/drmemory/scripts/pdfium_tests.py21
-rw-r--r--tools/drmemory/suppressions.txt27
2 files changed, 29 insertions, 19 deletions
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