summaryrefslogtreecommitdiffstats
path: root/tools/valgrind
diff options
context:
space:
mode:
Diffstat (limited to 'tools/valgrind')
-rwxr-xr-xtools/valgrind/chrome_tests.py99
-rw-r--r--tools/valgrind/gtest_exclude/app_unittests.gtest-tsan.txt2
-rw-r--r--tools/valgrind/gtest_exclude/base_unittests.gtest-drmemory_win32.txt11
-rw-r--r--tools/valgrind/gtest_exclude/base_unittests.gtest-tsan.txt10
-rw-r--r--tools/valgrind/gtest_exclude/base_unittests.gtest-tsan_mac.txt2
-rw-r--r--tools/valgrind/gtest_exclude/base_unittests.gtest-tsan_win32.txt15
-rw-r--r--tools/valgrind/gtest_exclude/base_unittests.gtest.txt22
-rw-r--r--tools/valgrind/gtest_exclude/base_unittests.gtest_mac.txt9
-rw-r--r--tools/valgrind/gtest_exclude/base_unittests.gtest_win32.txt7
-rw-r--r--tools/valgrind/gtest_exclude/base_unittests.gtest_wine.txt96
-rw-r--r--tools/valgrind/gtest_exclude/ipc_tests.gtest-drmemory_win32.txt2
-rw-r--r--tools/valgrind/gtest_exclude/ipc_tests.gtest.txt6
-rw-r--r--tools/valgrind/gtest_exclude/media_unittests.gtest-drmemory_win32.txt4
-rw-r--r--tools/valgrind/gtest_exclude/media_unittests.gtest-tsan_win32.txt0
-rw-r--r--tools/valgrind/gtest_exclude/media_unittests.gtest.txt3
-rw-r--r--tools/valgrind/gtest_exclude/media_unittests.gtest_mac.txt0
-rw-r--r--tools/valgrind/gtest_exclude/net_unittests.gtest-drmemory_win32.txt14
-rw-r--r--tools/valgrind/gtest_exclude/net_unittests.gtest-memcheck.txt19
-rw-r--r--tools/valgrind/gtest_exclude/net_unittests.gtest-tsan.txt18
-rw-r--r--tools/valgrind/gtest_exclude/net_unittests.gtest-tsan_mac.txt8
-rw-r--r--tools/valgrind/gtest_exclude/net_unittests.gtest-tsan_win32.txt35
-rw-r--r--tools/valgrind/gtest_exclude/net_unittests.gtest.txt6
-rw-r--r--tools/valgrind/gtest_exclude/net_unittests.gtest_linux.txt3
-rw-r--r--tools/valgrind/gtest_exclude/net_unittests.gtest_mac.txt2
-rw-r--r--tools/valgrind/gtest_exclude/net_unittests.gtest_wine.txt49
-rw-r--r--tools/valgrind/gtest_exclude/remoting_unittests.gtest-tsan_win32.txt5
-rw-r--r--tools/valgrind/gtest_exclude/suppressions.txt39
-rw-r--r--tools/valgrind/gtest_exclude/sync_unit_tests.gtest-tsan.txt0
-rw-r--r--tools/valgrind/gtest_exclude/test_shell_tests.gtest.txt8
-rw-r--r--tools/valgrind/gtest_exclude/ui_tests.gtest-tsan.txt11
-rw-r--r--tools/valgrind/gtest_exclude/ui_tests.gtest-tsan_mac.txt2
-rw-r--r--tools/valgrind/gtest_exclude/ui_tests.gtest.txt56
-rw-r--r--tools/valgrind/gtest_exclude/ui_tests.gtest_linux.txt18
-rw-r--r--tools/valgrind/gtest_exclude/ui_tests.gtest_mac.txt108
-rw-r--r--tools/valgrind/gtest_exclude/unit_tests.gtest-tsan.txt3
-rw-r--r--tools/valgrind/gtest_exclude/unit_tests.gtest-tsan_mac.txt5
-rw-r--r--tools/valgrind/gtest_exclude/unit_tests.gtest.txt10
-rw-r--r--tools/valgrind/gtest_exclude/unit_tests.gtest_linux.txt4
-rw-r--r--tools/valgrind/gtest_exclude/unit_tests.gtest_mac.txt16
-rw-r--r--tools/valgrind/gtest_exclude/unit_tests.gtest_wine.txt85
40 files changed, 758 insertions, 54 deletions
diff --git a/tools/valgrind/chrome_tests.py b/tools/valgrind/chrome_tests.py
index 5961189..a9c71db 100755
--- a/tools/valgrind/chrome_tests.py
+++ b/tools/valgrind/chrome_tests.py
@@ -89,19 +89,6 @@ class ChromeTests:
def _DefaultCommand(self, tool, module, exe=None, valgrind_test_args=None):
'''Generates the default command array that most tests will use.'''
- module_dir = os.path.join(self._source_dir, module)
-
- # We need multiple data dirs, the current script directory and a module
- # specific one. The global suppression file lives in our directory, and the
- # module specific suppression file lives with the module.
- self._data_dirs = [path_utils.ScriptDir()]
-
- if module == "chrome":
- # unfortunately, not all modules have the same directory structure
- self._data_dirs.append(os.path.join(module_dir, "test", "data",
- "valgrind"))
- else:
- self._data_dirs.append(os.path.join(module_dir, "data", "valgrind"))
if not self._options.build_dir:
if common.IsWine():
@@ -119,19 +106,21 @@ class ChromeTests:
self._options.build_dir = FindNewestDir(dirs)
cmd = list(self._command_preamble)
- for directory in self._data_dirs:
- tool_name = tool.ToolName();
- suppression_file = os.path.join(directory,
- "%s/suppressions.txt" % tool_name)
- if os.path.exists(suppression_file):
- cmd.append("--suppressions=%s" % suppression_file)
- # Platform specific suppression
- for suppression_platform in common.PlatformNames():
- suppression_file_platform = \
- os.path.join(directory,
- '%s/suppressions_%s.txt' % (tool_name, suppression_platform))
- if os.path.exists(suppression_file_platform):
- cmd.append("--suppressions=%s" % suppression_file_platform)
+
+ # Find all suppressions matching the following pattern:
+ # 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")
+ 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)
+ if os.path.exists(platform_suppression_file):
+ cmd.append("--suppressions=%s" % platform_suppression_file)
if self._options.valgrind_tool_flags:
cmd += self._options.valgrind_tool_flags.split(" ")
@@ -160,34 +149,36 @@ class ChromeTests:
and append the command-line option to cmd.
'''
filters = []
- for directory in self._data_dirs:
- gtest_filter_files = [
- os.path.join(directory, name + ".gtest.txt"),
- os.path.join(directory, name + ".gtest-%s.txt" % \
- tool.ToolName())]
- for platform_suffix in common.PlatformNames():
- gtest_filter_files += [
- os.path.join(directory, name + ".gtest_%s.txt" % platform_suffix),
- os.path.join(directory, name + ".gtest-%s_%s.txt" % \
- (tool.ToolName(), platform_suffix))]
- for filename in gtest_filter_files:
- if os.path.exists(filename):
- logging.info("reading gtest filters from %s" % filename)
- f = open(filename, 'r')
- for line in f.readlines():
- if line.startswith("#") or line.startswith("//") or line.isspace():
- continue
- line = line.rstrip()
- test_prefixes = ["FLAKY", "FAILS"]
- for p in test_prefixes:
- # Strip prefixes from the test names.
- line = line.replace(".%s_" % p, ".")
- # Exclude the original test name.
- filters.append(line)
- if line[-2:] != ".*":
- # List all possible prefixes if line doesn't end with ".*".
- for p in test_prefixes:
- filters.append(line.replace(".", ".%s_" % p))
+ gtest_files_dir = os.path.join(path_utils.ScriptDir(), "gtest_exclude")
+
+ gtest_filter_files = [
+ os.path.join(gtest_files_dir, name + ".gtest.txt"),
+ os.path.join(gtest_files_dir, name + ".gtest-%s.txt" % tool.ToolName())]
+ for platform_suffix in common.PlatformNames():
+ gtest_filter_files += [
+ os.path.join(gtest_files_dir, name + ".gtest_%s.txt" % platform_suffix),
+ os.path.join(gtest_files_dir, name + ".gtest-%s_%s.txt" % \
+ (tool.ToolName(), platform_suffix))]
+ for filename in gtest_filter_files:
+ if not os.path.exists(filename):
+ logging.info("gtest filter file %s not found - skipping" % filename)
+ continue
+ logging.info("Reading gtest filters from %s" % filename)
+ f = open(filename, 'r')
+ for line in f.readlines():
+ if line.startswith("#") or line.startswith("//") or line.isspace():
+ continue
+ line = line.rstrip()
+ test_prefixes = ["FLAKY", "FAILS"]
+ for p in test_prefixes:
+ # Strip prefixes from the test names.
+ line = line.replace(".%s_" % p, ".")
+ # Exclude the original test name.
+ filters.append(line)
+ if line[-2:] != ".*":
+ # List all possible prefixes if line doesn't end with ".*".
+ for p in test_prefixes:
+ filters.append(line.replace(".", ".%s_" % p))
# Get rid of duplicates.
filters = set(filters)
gtest_filter = self._gtest_filter
diff --git a/tools/valgrind/gtest_exclude/app_unittests.gtest-tsan.txt b/tools/valgrind/gtest_exclude/app_unittests.gtest-tsan.txt
new file mode 100644
index 0000000..64383b7
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/app_unittests.gtest-tsan.txt
@@ -0,0 +1,2 @@
+# Hangs under TSAN, see http://crbug.com/28332
+TextEliderTest.ElideTextLongStrings
diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest-drmemory_win32.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest-drmemory_win32.txt
new file mode 100644
index 0000000..b73fa61
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/base_unittests.gtest-drmemory_win32.txt
@@ -0,0 +1,11 @@
+# Dr. Memory crashes on some COM calls:
+# http://code.google.com/p/drmemory/issues/detail?id=21
+WMI*
+
+# TODO(timurrrr) investigate the failures and enable these tests one-by-one.
+RSA*
+GmockTest.*
+EtwTrace*
+StatsTableTest.*
+ProcessUtilTest.EnableLFH
+ScopedNativeLibrary.Basic
diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest-tsan.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest-tsan.txt
new file mode 100644
index 0000000..1f81bea
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/base_unittests.gtest-tsan.txt
@@ -0,0 +1,10 @@
+# Don't run this test under TSan, it takes ~1-2 minutes to pass.
+ProcessUtilTest.GetAppOutputRestrictedNoZombies
+
+# Don't run Memcheck sanity tests under ThreadSanitizer since they can
+# corrupt memory.
+ToolsSanityTest.*Memory*
+ToolsSanityTest.*Delete*
+
+# TSan doesn't understand SharedMemory locks, see http://crbug.com/45083
+StatsTableTest.*MultipleThreads
diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest-tsan_mac.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest-tsan_mac.txt
new file mode 100644
index 0000000..7ee06a1
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/base_unittests.gtest-tsan_mac.txt
@@ -0,0 +1,2 @@
+# http://crbug.com/29855.
+StackTrace.OutputToStream
diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest-tsan_win32.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest-tsan_win32.txt
new file mode 100644
index 0000000..0207c09
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/base_unittests.gtest-tsan_win32.txt
@@ -0,0 +1,15 @@
+# Occasionally fails under TSan, see http://crbug.com/54229
+ProcessUtilTest.CalcFreeMemory
+
+# This file is copied from Valgrind-on-Wine filter
+# TODO(timurrrr): include/investigate the listed tests one-by-one
+EtwTraceControllerTest.EnableDisable
+EtwTraceConsumer*Test.*
+EtwTraceProvider*Test.*
+JSONReaderTest.Reading
+TimeTicks.*
+WMIUtilTest.*
+
+# Too slow under TSan
+RSAPrivateKeyUnitTest.*
+ConditionVariableTest.LargeFastTaskTest
diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest.txt
new file mode 100644
index 0000000..173defa
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/base_unittests.gtest.txt
@@ -0,0 +1,22 @@
+# This test currently times out in valgrind, see http://crbug.com/9194
+WatchdogTest.AlarmTest
+
+# These tests occassionally hangs under Valgrind on Mac. valgrind-darwin r9573
+# Revisit with better valgrind.
+# Valgrind bug: https://bugs.kde.org/show_bug.cgi?id=189661
+TimerTest.RepeatingTimer
+TimerTest.RepeatingTimer_Cancel
+
+# Crashes occasionally, see http://crbug.com/7477
+ObserverListThreadSafeTest.CrossThreadObserver
+ObserverListThreadSafeTest.CrossThreadNotifications
+
+# Hangs sometimes on linux, see http://crbug.com/22138
+ClipboardTest.*
+
+# These tests trigger a CHECK so they will leak memory. They don't test
+# anything else, so just disable them on valgrind. Bug 28179.
+OutOfMemoryDeathTest.*
+
+# Flaky under Valgrind, see http://crbug.com/55517
+PlatformFile.TouchGetInfoPlatformFile
diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest_mac.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest_mac.txt
new file mode 100644
index 0000000..46fbf47
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/base_unittests.gtest_mac.txt
@@ -0,0 +1,9 @@
+# Fails on Valgrind/Mac, see http://crbug.com/43972
+ConditionVariableTest.LargeFastTaskTest
+
+# Fails on Valgrind/Mac due to missing syscall wrapper
+# for the symlink() syscall. See http://crbug.com/44001
+FileUtilTest.NormalizeFilePathSymlinks
+
+# Fails on Valgrind/Mac, see http://crbug.com/53196
+CancellationFlagTest.SetOnDifferentThreadDeathTest
diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest_win32.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest_win32.txt
new file mode 100644
index 0000000..525648c
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/base_unittests.gtest_win32.txt
@@ -0,0 +1,7 @@
+# Too slow under Valgrind/Wine and TSan/Windows
+TimeTicks.WinRollover
+
+# Very sensitive to slowdown
+TimeTicks.Deltas
+TimeTicks.HighResNow
+TimerTest.RepeatingTimer*
diff --git a/tools/valgrind/gtest_exclude/base_unittests.gtest_wine.txt b/tools/valgrind/gtest_exclude/base_unittests.gtest_wine.txt
new file mode 100644
index 0000000..17d3085
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/base_unittests.gtest_wine.txt
@@ -0,0 +1,96 @@
+# crash Crashes in Wine
+# crash-valgrind Crashes in Wine + Valgrind
+# dontcare Safe to ignore
+# dontcare-hangwin Ignore, hangs on Windows too
+# dontcare-winfail Ignore, fails on Windows too
+# dontcare-flaky Ignore, flaky test
+# dontcare-hang Ignore, hangs we don't care about
+# fail Fails, needs triaging or needs to be fixed
+# fail-valgrind Fails only under Valgrind
+# fail_wine_vmware Fails in Wine under VMware? TODO(dank) clarify
+# flaky-valgrind Flaky under Valgrind, needs investigation
+# hang Test that hangs for some reason
+# hang-valgrind Test that hangs under valgrind, or just takes too long
+
+# dontcare
+BaseWinUtilTest.FormatMessageW
+
+# fail-valgrind
+# fails under wine + valgrind TODO(thestig): investigate
+ConditionVariableTest.LargeFastTaskTest
+
+# hang
+# http://bugs.winehq.org/show_bug.cgi?id=20946, advapi32.ControlTrace() not yet implemented
+EtwTraceControllerTest.EnableDisable
+
+# crash
+# http://bugs.winehq.org/show_bug.cgi?id=20946, advapi32.OpenTrace() unimplemented
+EtwTraceConsumer*Test.*
+
+# crash
+# http://bugs.winehq.org/show_bug.cgi?id=20946, advapi32.RegisterTraceGuids() unimplemented
+EtwTraceProvider*Test.*
+
+# dontcare
+FileUtilTest.CountFilesCreatedAfter
+
+# dontcare
+FileUtilTest.GetFileCreationLocalTime
+
+# fail
+# http://bugs.winehq.org/show_bug.cgi?id=20340
+HMACTest.HMACObjectReuse
+
+# fail
+# http://bugs.winehq.org/show_bug.cgi?id=20340
+HMACTest.HmacSafeBrowsingResponseTest
+
+# fail
+# http://bugs.winehq.org/show_bug.cgi?id=20340
+HMACTest.RFC2202TestCases
+
+# hang-valgrind
+# not really a hang, takes 400 seconds
+JSONReaderTest.Reading
+
+# dontcare
+# Alexandre Julliard triaged
+PEImageTest.EnumeratesPE
+
+# fail-valgrind
+# fails under wine + valgrind TODO(thestig): investigate
+ProcessUtilTest.CalcFreeMemory
+
+# fail-valgrind
+# fails under wine + valgrind TODO(thestig): investigate
+ProcessUtilTest.KillSlowChild
+
+# fail-valgrind
+# fails under wine + valgrind TODO(thestig): investigate
+ProcessUtilTest.SpawnChild
+
+# hang-valgrind
+# not really a hang, takes 300 seconds
+RSAPrivateKeyUnitTest.InitRandomTest
+
+# fail_wine_vmware
+RSAPrivateKeyUnitTest.ShortIntegers
+
+# dontcare-flaky
+# http://bugs.winehq.org/show_bug.cgi?id=20606
+StatsTableTest.MultipleProcesses
+
+# flaky-valgrind
+# flaky, timing issues? TODO(thestig): investigate
+StatsTableTest.StatsCounterTimer
+
+# fail-valgrind
+# fails under wine + valgrind TODO(thestig): investigate
+StatsTableTest.StatsRate
+
+# fail-valgrind
+# fails under wine + valgrind TODO(thestig): investigate
+StatsTableTest.StatsScope
+
+# dontcare
+WMIUtilTest.*
diff --git a/tools/valgrind/gtest_exclude/ipc_tests.gtest-drmemory_win32.txt b/tools/valgrind/gtest_exclude/ipc_tests.gtest-drmemory_win32.txt
new file mode 100644
index 0000000..ac62a9a
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/ipc_tests.gtest-drmemory_win32.txt
@@ -0,0 +1,2 @@
+# TODO(timurrrr): investigate
+IPCSyncChannelTest.*
diff --git a/tools/valgrind/gtest_exclude/ipc_tests.gtest.txt b/tools/valgrind/gtest_exclude/ipc_tests.gtest.txt
new file mode 100644
index 0000000..30a1f89
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/ipc_tests.gtest.txt
@@ -0,0 +1,6 @@
+# Takes 27-40 seconds to run.
+IPCSyncChannelTest.ChattyServer
+# Hangs on Linux sometimes. See http://crbug.com/22141
+IPCChannelTest.ChannelTest
+# Crashes under Valgrind. See http://crbug.com/46782
+IPCSyncChannelTest.Multiple
diff --git a/tools/valgrind/gtest_exclude/media_unittests.gtest-drmemory_win32.txt b/tools/valgrind/gtest_exclude/media_unittests.gtest-drmemory_win32.txt
new file mode 100644
index 0000000..df5f284
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/media_unittests.gtest-drmemory_win32.txt
@@ -0,0 +1,4 @@
+# http://code.google.com/p/drmemory/issues/detail?id=23
+PipelineImplTest.*
+VideoRendererBaseTest.Initialize_Successful
+*Audio*
diff --git a/tools/valgrind/gtest_exclude/media_unittests.gtest-tsan_win32.txt b/tools/valgrind/gtest_exclude/media_unittests.gtest-tsan_win32.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/media_unittests.gtest-tsan_win32.txt
diff --git a/tools/valgrind/gtest_exclude/media_unittests.gtest.txt b/tools/valgrind/gtest_exclude/media_unittests.gtest.txt
new file mode 100644
index 0000000..7e22249
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/media_unittests.gtest.txt
@@ -0,0 +1,3 @@
+# This test tries to record fake audio in real-time.
+# This appears to be too sensitive to slowdown, see http://crbug.com/49497
+FakeAudioInputTest.BasicCallbacks
diff --git a/tools/valgrind/gtest_exclude/media_unittests.gtest_mac.txt b/tools/valgrind/gtest_exclude/media_unittests.gtest_mac.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/media_unittests.gtest_mac.txt
diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest-drmemory_win32.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest-drmemory_win32.txt
new file mode 100644
index 0000000..10b8617
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/net_unittests.gtest-drmemory_win32.txt
@@ -0,0 +1,14 @@
+# See http://crbug.com/51145
+HttpNetworkTransactionTest.*
+HttpNetworkLayerTest.GET
+
+# TODO(timurrrr): investigate these
+ClientSocketPoolBaseTest.*
+SSLClientSocketTest.*
+ProxyResolverJS*
+X509CertificateTest.*
+UrlToFilenameEncoderTest.*
+DirectoryListerTest.*
+WebSocketHandshake*
+HTTPSRequestTest.*
+NetUtilTest.*
diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest-memcheck.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest-memcheck.txt
new file mode 100644
index 0000000..e7f42dd
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/net_unittests.gtest-memcheck.txt
@@ -0,0 +1,19 @@
+# These tests leak data intentionally, so are inappropriate for Valgrind tests.
+# Similar list in ../purify/net_unittests.exe.gtest.txt
+# TODO(dkegel): either merge the two files or keep them in sync,
+# see http://code.google.com/p/chromium/issues/detail?id=8951
+DiskCacheBackendTest.AppCacheInvalidEntry
+DiskCacheBackendTest.AppCacheInvalidEntryRead
+DiskCacheBackendTest.AppCacheInvalidEntryWithLoad
+DiskCacheBackendTest.InvalidEntry
+DiskCacheBackendTest.InvalidEntryRead
+DiskCacheBackendTest.InvalidEntryWithLoad
+DiskCacheBackendTest.TrimInvalidEntry
+DiskCacheBackendTest.TrimInvalidEntry2
+DiskCacheBackendTest.InvalidEntryEnumeration
+DiskCacheBackendTest.NewEvictionInvalidEntry
+DiskCacheBackendTest.NewEvictionInvalidEntryRead
+DiskCacheBackendTest.NewEvictionInvalidEntryWithLoad
+DiskCacheBackendTest.NewEvictionTrimInvalidEntry
+DiskCacheBackendTest.NewEvictionTrimInvalidEntry2
+DiskCacheBackendTest.NewEvictionInvalidEntryEnumeration
diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest-tsan.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest-tsan.txt
new file mode 100644
index 0000000..1ddf884
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/net_unittests.gtest-tsan.txt
@@ -0,0 +1,18 @@
+# These huge tests are flaky and sometimes crash the following tests.
+# See http://crbug.com/50346
+DiskCacheEntryTest.*HugeSparse*
+
+# SPDY tests tend to crash on both Mac and Windows.
+# See http://crbug.com/51144
+Spdy/SpdyNetworkTransactionTest.SocketWriteReturnsZero*
+# See http://crbug.com/50918
+Spdy/SpdyNetworkTransactionTest.CancelledTransactionSendRst*
+# See http://crbug.com/51087
+Spdy*
+
+# See http://crbug.com/44570
+HttpNetworkTransactionTest.StopsReading204
+# See http://crbug.com/51145
+HttpNetworkTransactionTest.Incomplete100ThenEOF
+HttpNetworkTransactionTest.UseAlternateProtocolForNpnSpdyWithExistingSpdySession
+HttpNetworkTransactionTest.KeepAliveConnectionEOF
diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest-tsan_mac.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest-tsan_mac.txt
new file mode 100644
index 0000000..6359e4b
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/net_unittests.gtest-tsan_mac.txt
@@ -0,0 +1,8 @@
+# WebSocketTest tests are extraordinary slow under ThreadSanitizer,
+# (see http://crbug.com/25392)
+# TODO(glider): investigate this.
+WebSocketTest.*
+
+# Strange reports from __NSThread__main__ appeared with the new TSan binaries
+# See http://crbug.com/38926
+DirectoryLister*
diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest-tsan_win32.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest-tsan_win32.txt
new file mode 100644
index 0000000..b7b6e2c
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/net_unittests.gtest-tsan_win32.txt
@@ -0,0 +1,35 @@
+# These tests fail due to unknown reasons
+# TODO(timurrrr): investigate
+CookieMonsterTest.TestLastAccess
+SpdyNetwork*Error*
+SpdyNetwork*Get*
+SpdyNetworkTransactionTest.SynReplyHeadersVary
+X509CertificateTest.UnoSoftCertParsing
+URLRequestTest.DoNotSaveCookies
+URLRequestTest.QuitTest
+
+# See http://crbug.com/46647
+DiskCacheBackendTest.*
+
+# See http://crbug.com/53304
+URLRequestTest.*
+
+# See http://crbug.com/47836
+ClientSocketPoolBaseTest.CancelPendingSocketAtSocketLimit
+
+# See http://crbug.com/51145
+HttpNetworkTransactionTest.*
+HttpNetworkLayerTest.GET
+
+# Timing out under TSan, see http://crbug.com/59642
+CookieMonsterTest.GarbageCollectionTriggers
+
+#########################################
+# These tests fail if you don't have our SSL certificate installed.
+# Please see http://dev.chromium.org/developers/testing#TOC-SSL-tests
+# if you think you want to un-comment one of the following lines.
+#SSLClientSocketTest.*
+#URLRequestTest*
+#HTTPSRequestTest.*
+#X509CertificateTest.*
+#ProxyScriptFetcherTest.*
diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest.txt
new file mode 100644
index 0000000..0af617c
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/net_unittests.gtest.txt
@@ -0,0 +1,6 @@
+# Very slow under Valgrind.
+KeygenHandlerTest.*SmokeTest
+KeygenHandlerTest.*ConcurrencyTest
+
+# Fails Valgrind with varying stack traces. http://crbug.com/43179
+SpdyNetworkTransactionTest.PostWithEarlySynReply
diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest_linux.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest_linux.txt
new file mode 100644
index 0000000..1b69eec
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/net_unittests.gtest_linux.txt
@@ -0,0 +1,3 @@
+# These tests fail due to certificate errors; see http://crbug.com/36770
+HTTPSRequestTest.HTTPSMismatchedTest
+SSLClientSocketTest.ConnectMismatched
diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest_mac.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest_mac.txt
new file mode 100644
index 0000000..57f2365
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/net_unittests.gtest_mac.txt
@@ -0,0 +1,2 @@
+# Very slow under Valgrind, (see <http://crbug.com/37289>).
+KeygenHandlerTest.SmokeTest
diff --git a/tools/valgrind/gtest_exclude/net_unittests.gtest_wine.txt b/tools/valgrind/gtest_exclude/net_unittests.gtest_wine.txt
new file mode 100644
index 0000000..2492f86
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/net_unittests.gtest_wine.txt
@@ -0,0 +1,49 @@
+# crash Crashes in Wine
+# crash-valgrind Crashes in Wine + Valgrind
+# dontcare Safe to ignore
+# dontcare-hangwin Ignore, hangs on Windows too
+# dontcare-winfail Ignore, fails on Windows too
+# dontcare-flaky Ignore, flaky test
+# dontcare-hang Ignore, hangs we don't care about
+# fail Fails, needs triaging or needs to be fixed
+# fail-valgrind Fails only under Valgrind
+# fail_wine_vmware Fails in Wine under VMware? TODO(dank) clarify
+# flaky-valgrind Flaky under Valgrind, needs investigation
+# hang Test that hangs for some reason
+# hang-valgrind Test that hangs under valgrind, or just takes too long
+
+# fail
+http://bugs.winehq.org/show_bug.cgi?id=20748
+SSLClientSocketTest.Read_Interrupted
+
+# fail
+# https/ssl failing on the bot, bad Wine? TODO(thestig): investigate
+HTTPSRequestTest.HTTPSExpiredTest
+
+# fail
+# https/ssl failing on the bot, bad Wine? TODO(thestig): investigate
+HTTPSRequestTest.HTTPSGetTest
+
+# fail
+# https/ssl failing on the bot, bad Wine? TODO(thestig): investigate
+HTTPSRequestTest.HTTPSMismatchedTest
+
+# fail
+# https/ssl failing on the bot, bad Wine? TODO(thestig): investigate
+SSLClientSocketTest.Connect
+
+# fail
+# https/ssl failing on the bot, bad Wine? TODO(thestig): investigate
+SSLClientSocketTest.Read
+
+# fail
+# https/ssl failing on the bot, bad Wine? TODO(thestig): investigate
+SSLClientSocketTest.Read_FullDuplex
+
+# fail
+# https/ssl failing on the bot, bad Wine? TODO(thestig): investigate
+SSLClientSocketTest.Read_SmallChunks
+
+# fail
+# https/ssl failing on the bot, bad Wine? TODO(thestig): investigate
+URLRequestTestHTTP.HTTPSToHTTPRedirectNoRefererTest
diff --git a/tools/valgrind/gtest_exclude/remoting_unittests.gtest-tsan_win32.txt b/tools/valgrind/gtest_exclude/remoting_unittests.gtest-tsan_win32.txt
new file mode 100644
index 0000000..b5d078d
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/remoting_unittests.gtest-tsan_win32.txt
@@ -0,0 +1,5 @@
+# Fail under TSan, see http://crbug.com/57832
+JingleChromotingConnectionTest.TestVideoChannel
+JingleChromotingConnectionTest.TestEventsChannel
+JingleChromotingConnectionTest.TestVideoRtpChannel
+
diff --git a/tools/valgrind/gtest_exclude/suppressions.txt b/tools/valgrind/gtest_exclude/suppressions.txt
new file mode 100644
index 0000000..e8cc210
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/suppressions.txt
@@ -0,0 +1,39 @@
+{
+ Test DiskCacheBackendTest.InvalidEntryEnumeration leaks.
+ Memcheck:Leak
+ fun:_Znwj
+ fun:_ZN10disk_cache12StorageBlockINS_12RankingsNodeEE12AllocateDataEv
+ fun:_ZN10disk_cache12StorageBlockINS_12RankingsNodeEE4LoadEv
+ fun:_ZN10disk_cache9EntryImpl15LoadNodeAddressEv
+ fun:_ZN10disk_cache11BackendImpl8NewEntryENS_4AddrEPPNS_9EntryImplEPb
+ fun:_ZN10disk_cache11BackendImpl10MatchEntryERKSsjb
+ fun:_ZN10disk_cache11BackendImpl9OpenEntryERKSsPPNS_5EntryE
+ fun:_ZN49DiskCacheBackendTest_InvalidEntryEnumeration_Test8TestBodyEv
+ fun:_ZN7testing4Test3RunEv
+}
+{
+ Test DiskCacheBackendTest.InvalidEntryRead leaks.
+ Memcheck:Leak
+ fun:_Znwj
+ fun:_ZN10disk_cache11BackendImpl8NewEntryENS_4AddrEPPNS_9EntryImplEPb
+ fun:_ZN10disk_cache11BackendImpl10MatchEntryERKSsjb
+ fun:_ZN10disk_cache11BackendImpl9OpenEntryERKSsPPNS_5EntryE
+ fun:_ZN42DiskCacheBackendTest_InvalidEntryRead_Test8TestBodyEv
+ fun:_ZN7testing4Test3RunEv
+}
+{
+ Test DiskCacheBackendTest.InvalidEntryWithLoad leaks.
+ Memcheck:Leak
+ fun:_Znwj
+ fun:_ZN10disk_cache11BackendImpl11CreateEntryERKSsPPNS_5EntryE
+ fun:_ZN46DiskCacheBackendTest_InvalidEntryWithLoad_Test8TestBodyEv
+ fun:_ZN7testing4Test3RunEv
+}
+{
+ Test FlipNetworkTransactionTest.WriteError Bug 29004
+ Memcheck:Leak
+ fun:_Znw*
+ ...
+ fun:_ZN3net26FlipNetworkTransactionTest17TransactionHelperERKNS_15HttpRequestInfoEPNS_17DelayedSocketDataE
+ fun:_ZN3net42FlipNetworkTransactionTest_WriteError_Test8TestBodyEv
+}
diff --git a/tools/valgrind/gtest_exclude/sync_unit_tests.gtest-tsan.txt b/tools/valgrind/gtest_exclude/sync_unit_tests.gtest-tsan.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/sync_unit_tests.gtest-tsan.txt
diff --git a/tools/valgrind/gtest_exclude/test_shell_tests.gtest.txt b/tools/valgrind/gtest_exclude/test_shell_tests.gtest.txt
new file mode 100644
index 0000000..10119a0
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/test_shell_tests.gtest.txt
@@ -0,0 +1,8 @@
+# Way too slow under Valgrind at the moment; http://crbug.com/9177
+BMPImageDecoderTest.ChunkedDecodingSlow
+BMPImageDecoderTest.DecodingSlow
+# hangs; see http://crbug.com/16945
+MediaLeakTest.VideoBear
+MediaLeakTest.ManyVideoBear
+# hangs; see http://crbug.com/22134
+WebFrameTest.GetFullHtmlOfPage
diff --git a/tools/valgrind/gtest_exclude/ui_tests.gtest-tsan.txt b/tools/valgrind/gtest_exclude/ui_tests.gtest-tsan.txt
new file mode 100644
index 0000000..e1a07ab
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/ui_tests.gtest-tsan.txt
@@ -0,0 +1,11 @@
+# These tests hang under ThreadSanitizer on x64 bot,
+# see http://crbug.com/28115
+TabRestoreUITest.*
+
+# These tests fail due to timeouts under TSan, http://crbug.com/32529
+ChromeMainTest.SecondLaunch
+ChromeMainTest.ReuseBrowserInstanceWhenOpeningFile
+ResourceDispatcherTest.CrossSiteOnunloadCookie
+ResourceDispatcherTest.CrossSiteNavigationErrorPage
+NewTabUITest.NTPHasThumbnails
+UnloadTest.CrossSiteInfiniteUnloadSync
diff --git a/tools/valgrind/gtest_exclude/ui_tests.gtest-tsan_mac.txt b/tools/valgrind/gtest_exclude/ui_tests.gtest-tsan_mac.txt
new file mode 100644
index 0000000..72d1195
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/ui_tests.gtest-tsan_mac.txt
@@ -0,0 +1,2 @@
+# See crbug.com/46639
+AutomatedUITestBase.SelectTab
diff --git a/tools/valgrind/gtest_exclude/ui_tests.gtest.txt b/tools/valgrind/gtest_exclude/ui_tests.gtest.txt
new file mode 100644
index 0000000..338da2e
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/ui_tests.gtest.txt
@@ -0,0 +1,56 @@
+# Takes too long to valgrind, causes timeouts
+BrowserTest.ThirtyFourTabs
+# FIXME: these tests hang frequently in valgrind
+SessionRestoreUITest.*
+# Buggy test; see http://crbug.com/6522
+DownloadTest.UnknownSize
+# Flakily hang on Linux, see http://crbug.com/46643
+ErrorPageTest.DNSError_GoBack2AndForward
+ErrorPageTest.DNSError_GoBack2Forward2
+
+# Flaky timeout on Linux; see http://crbug.com/46781
+UnloadTest.*
+
+# Don't run reference tests under Valgrind
+# On the Mac, they don't have symbols, even, so suppressions don't work
+# They probably don't have ThreadSanitizer annotations TODO(timurrrr): check
+*ReferenceTest.Perf
+
+# Dromaeo's reference tests are split up into multiple *Perf sections.
+DromaeoReferenceTest.*
+
+# This test hangs under valgrind
+# See http://crbug.com/27764
+NewTabUITest.HomePageLink
+
+# Hangs frequently under valgrind on Mac
+# See http://crbug.com/29208
+TabRestoreUITest.*
+
+# Running these tests under valgrind and produces errors about "valgrind didn't
+# finish writing 2 files" since the tests kill the browser process (which is
+# actually the valgrind wrapper) in the middle of execution.
+# See http://crbug.com/25176
+ProcessSingletonLinuxTest.NotifyOtherProcessFailure
+ProcessSingletonLinuxTest.NotifyOtherProcessDifferingHost
+ProcessSingletonLinuxTest.NotifyOtherProcessOrCreate_DifferingHost
+
+# These tests fail under valgrind.
+# See http://crbug.com/29579
+AutomationProxyTest.NavigateToURLWithTimeout1
+AutomationProxyTest.NavigateToURLWithTimeout2
+# See http://crbug.com/29586
+NewTabUITest.ChromeInternalLoadsNTP
+# See http://crbug.com/42205
+DownloadTest.*
+# See http://crbug.com/45792
+DefaultPluginUITest.DefaultPluginLoadTest
+# See http://crbug.com/38575
+WorkerTest.*
+# See http://crbug.com/59659
+NewTabUITest.NTPHasLoginName
+
+# Mac: See http://crbug.com/30661, Linux/CrOS: http://crbug.com/49576.
+LayoutPluginTester.NPObjectReleasedOnDestruction
+LayoutPluginTester.NPObjectSetException
+
diff --git a/tools/valgrind/gtest_exclude/ui_tests.gtest_linux.txt b/tools/valgrind/gtest_exclude/ui_tests.gtest_linux.txt
new file mode 100644
index 0000000..523e55b
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/ui_tests.gtest_linux.txt
@@ -0,0 +1,18 @@
+# These tests fail under valgrind.
+# See http://crbug.com/29583.
+ChromeMainTest.AppLaunch
+# See http://crbug.com/29585.
+MetricsServiceTest.CrashRenderers
+# See http://crbug.com/40584
+ExtensionProxyUITest.*
+# See http://crbug.com/42105
+BrowserTest.PosixSessionEnd
+# 4GB of RAM is not enough. See http://crbug.com/42921
+ResourceDispatcherTest.CrossSiteAfterCrash
+NewTabUITest.NTPHasThumbnails
+# http://crbug.com/45574 Unhappy on ChromeOS valgrind
+LayoutPluginTester.UnloadNoCrash
+# http://crbug.com/53825 Times out on CrOS valgrind.
+MediaTest.VideoBear*
+# http://crbug.com/53937 Fails on CrOS valgrind
+UILayoutTest.MediaUILayoutTest
diff --git a/tools/valgrind/gtest_exclude/ui_tests.gtest_mac.txt b/tools/valgrind/gtest_exclude/ui_tests.gtest_mac.txt
new file mode 100644
index 0000000..fa6748a
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/ui_tests.gtest_mac.txt
@@ -0,0 +1,108 @@
+# Hangs on mac at exit, during final valgrind leak checking? (valgrind bug?)
+ErrorPageTest.DNSError_GoBack2Forward2
+# Flakily hangs on Mac
+ErrorPageTest.IFrameDNSError_GoBack
+# Hung several times locally on mac
+ErrorPageTest.DNSError_GoBack1
+# Hung one each on the mac bots
+AutomatedUITestBase.CloseBrowserWindow
+AutomatedUITestBase.OpenBrowserWindow
+ErrorPageTest.DNSError_GoBack2
+ResourceDispatcherTest.CrossSiteNavigationErrorPage
+TabRestoreUITest.RestoreCrossSiteWithExistingSiteInstance
+# Hung 7 times on the mac bots!
+ResourceDispatcherTest.SyncXMLHttpRequest_DuringUnload
+# Hung 4 times on the mac bots!
+TabRestoreUITest.BasicRestoreFromClosedWindow
+# All these hung multiple times on the mac bots:
+BrowserTest.OtherRedirectsDontForkProcess
+DownloadTest.ContentDisposition
+DownloadTest.DownloadMimeType
+DownloadTest.IncognitoDownload
+DownloadTest.NoDownload
+DownloadTest.PerWindowShelf
+ErrorPageTest.IFrameDNSError_GoBackAndForward
+
+# Following tests fail on valgrind.
+# See http://crbug.com/30366.
+BrowserEncodingTest.TestEncodingAutoDetect
+# See http://crbug.com/29598.
+DOMStorageTest.LocalStorageLayoutTests
+ErrorPageTest.DNSError_Basic
+ErrorPageTest.DNSError_GoBack1
+ErrorPageTest.DNSError_GoBack2
+ErrorPageTest.DNSError_GoBack2AndForward
+ErrorPageTest.DNSError_GoBack2Forward2
+# See http://crbug.com/30367.
+NewTabUITest.NTPHasThumbnails
+NewTabUITest.UpdateUserPrefsVersion
+
+# Appears to time out on valgrind.
+# http://crbug.com/32818
+VisibleBrowserTest.WindowOpenClose
+
+# See http://crbug.com/30661 and http://crbug.com/27447.
+NPAPITesterBase.GetURL
+NPAPITesterBase.SelfDeletePluginGetUrl
+NPAPITesterBase.PluginThreadAsyncCall
+NPAPITesterBase.GetJavaScriptURL
+NPAPITesterBase.SelfDeletePluginInvoke
+NPAPITesterBase.Arguments
+NPAPITesterBase.GetJavaScriptURL2
+NPAPITesterBase.PrivateDisabled
+NPAPIVisiblePluginTester.PluginReferrerTest
+NPAPIVisiblePluginTester.GetURLRequestFailWrite
+NPAPIIncognitoTester.PrivateEnabled
+NPAPITesterBase.ManyPlugins
+NPAPITesterBase.NPObjectProxy
+NPAPITesterBase.ScheduleTimer
+NPAPIVisiblePluginTester.SelfDeletePluginInNewStream
+NPAPIVisiblePluginTester.MultipleInstancesSyncCalls
+NPAPIVisiblePluginTester.OpenPopupWindowWithPlugin
+NPAPIVisiblePluginTester.PluginConvertPointTest
+NPAPIVisiblePluginTester.SelfDeletePluginInvokeInSynchronousPaint
+LayoutPluginTester.SelfDeletePluginGetUrl
+LayoutPluginTester.SelfDeletePluginInvoke
+LayoutPluginTester.NPObjectReleasedOnDestruction
+LayoutPluginTester.NPObjectSetException
+LayoutPluginTester.UnloadNoCrash
+
+# Possible timing related failure triggered only on mac valgrind bots.
+# http://crbug.com/39401
+BookmarksUITest.BookmarksLoaded
+BookmarksUITest.ShouldRedirectToExtension
+
+# See http://crbug.com/40587
+BookmarksUITest.CommandAgainGoesBackToBookmarksTab
+
+# See http://crbug.com/45564
+ChromeMainTest.AppLaunch
+
+# See http://crbug.com/46783
+SessionHistoryTest.FrameBackForward
+SessionHistoryTest.JavascriptHistory
+SessionHistoryTest.LocationReplace
+
+# UNIMPLEMENTED reached, see http://crbug.com/51387
+OptionsUITest.LoadOptionsByURL
+AutomatedUITestBase.CloseTab
+
+# See http://crbug.com/57717
+ResourceDispatcherTest.CrossSiteFailedRequest
+
+# Valgrind dies on assertion, see http://crbug.com/58145
+AutomationProxyTest.GetTabCount
+
+# Can't load a nib under Valgrind, see http://crbug.com/58124
+ImagesTest.AnimatedGIFs
+
+# Valgrind dies on assertion, see http://crbug.com/58146
+DomStorageEmptyDatabaseTest.NonEmptyDirAfterSet
+
+# Hangs; See http://crbug.com/58569
+SearchProviderTest.TestIsSearchProviderInstalled
+
+# Following tests crash with LOG(FATAL) on valgrind mac; See http://crbug.com/60036
+OptionsUITest.FLAKY_TwoCommandsOneTab
+OptionsUITest.FLAKY_CommandAgainGoesBackToOptionsTab
+
diff --git a/tools/valgrind/gtest_exclude/unit_tests.gtest-tsan.txt b/tools/valgrind/gtest_exclude/unit_tests.gtest-tsan.txt
new file mode 100644
index 0000000..a05d51f
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/unit_tests.gtest-tsan.txt
@@ -0,0 +1,3 @@
+# This test has a possible data race detected by the TSAN bot
+# see http://crbug.com/46840
+ProfileManagerTest.CreateAndUseTwoProfiles
diff --git a/tools/valgrind/gtest_exclude/unit_tests.gtest-tsan_mac.txt b/tools/valgrind/gtest_exclude/unit_tests.gtest-tsan_mac.txt
new file mode 100644
index 0000000..20563c7
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/unit_tests.gtest-tsan_mac.txt
@@ -0,0 +1,5 @@
+# http://crbug.com/26214
+ExtensionTest.InitFromValueInvalid
+
+# http://crbug.com/38503
+TabRestoreServiceTest.DontPersistPostData
diff --git a/tools/valgrind/gtest_exclude/unit_tests.gtest.txt b/tools/valgrind/gtest_exclude/unit_tests.gtest.txt
new file mode 100644
index 0000000..cd41df9
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/unit_tests.gtest.txt
@@ -0,0 +1,10 @@
+# Hangs sometimes; see http://crbug.com/22146
+VisitedLinkEventsTest.Coalescense
+# Hangs sometimes; see http://crbug.com/22160
+VisitedLinkRelayTest.Basics
+# Hangs (or takes forever?) reliably on bots; see http://crbug.com/23580
+RenderViewTest.ImeComposition
+# Hangs sometimes; see http://crbug.com/52844
+PredictorTest.MassiveConcurrentLookupTest
+# Pure virtual method called: see http://crbug.com/50950
+ConnectionTesterTest.RunAllTests
diff --git a/tools/valgrind/gtest_exclude/unit_tests.gtest_linux.txt b/tools/valgrind/gtest_exclude/unit_tests.gtest_linux.txt
new file mode 100644
index 0000000..baba59f
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/unit_tests.gtest_linux.txt
@@ -0,0 +1,4 @@
+# Fails under Valgrind; see http://crbug.com/36770
+URLFetcherBadHTTPSTest.BadHTTPSTest
+# Fails under Valgrind; see http://crbug.com/44552
+RenderViewTest.OnHandleKeyboardEvent
diff --git a/tools/valgrind/gtest_exclude/unit_tests.gtest_mac.txt b/tools/valgrind/gtest_exclude/unit_tests.gtest_mac.txt
new file mode 100644
index 0000000..2e4e660
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/unit_tests.gtest_mac.txt
@@ -0,0 +1,16 @@
+# Times out too often
+# crbug.com/15817
+IPCSyncChannelTest.*
+# Hangs
+# http://crbug.com/21890
+WebDropTargetTest.URL
+WebDropTargetTest.Data
+
+# Following tests do not pass memcheck test.
+# See http://crbug.com/30393.
+NSMenuItemAdditionsTest.TestMOnDifferentLayouts
+# See http://crbug.com/30394.
+PrefsControllerTest.GetPrefsViewForPage
+PrefsControllerTest.GetToolbarItemForPage
+PrefsControllerTest.ShowAndClose
+PrefsControllerTest.SwitchToPage
diff --git a/tools/valgrind/gtest_exclude/unit_tests.gtest_wine.txt b/tools/valgrind/gtest_exclude/unit_tests.gtest_wine.txt
new file mode 100644
index 0000000..75becc1
--- /dev/null
+++ b/tools/valgrind/gtest_exclude/unit_tests.gtest_wine.txt
@@ -0,0 +1,85 @@
+# crash Crashes in Wine
+# crash-valgrind Crashes in Wine + Valgrind
+# dontcare Safe to ignore
+# dontcare-hangwin Ignore, hangs on Windows too
+# dontcare-winfail Ignore, fails on Windows too
+# dontcare-flaky Ignore, flaky test
+# dontcare-hang Ignore, hangs we don't care about
+# fail Fails, needs triaging or needs to be fixed
+# fail-valgrind Fails only under Valgrind
+# fail_wine_vmware Fails in Wine under VMware? TODO(dank) clarify
+# flaky-valgrind Flaky under Valgrind, needs investigation
+# hang Test that hangs for some reason
+# hang-valgrind Test that hangs under valgrind, or just takes too long
+
+# crash
+# http://crbug.com/27726
+BlacklistManagerTest.*
+
+# crash
+# http://bugs.winehq.org/show_bug.cgi?id=20340
+SafeBrowsingProtocolParsingTest.TestGetHashWithMac
+
+# crash-valgrind
+DnsMasterTest.MassiveConcurrentLookupTest
+
+# crash-valgrind
+# http://bugs.winehq.org/show_bug.cgi?id=20553
+NullModelTableViewTest.*
+
+# crash-valgrind
+# http://bugs.winehq.org/show_bug.cgi?id=20657 (for wine oom)
+RenderViewTest.OnPrintPageAsBitmap
+
+# crash-valgrind
+# http://bugs.winehq.org/show_bug.cgi?id=20553
+TableViewTest.*
+
+# dontcare
+# FF2 dlls without symbols cause leaks
+FirefoxImporterTest.Firefox2NSS3Decryptor
+
+# dontcare
+# FF2 dlls without symbols cause leaks
+ImporterTest.Firefox2Importer
+
+# dontcare
+SpellCheckTest.SpellCheckText
+
+# dontcare-hangwin
+UtilityProcessHostTest.ExtensionUnpacker
+
+# fail
+# http://bugs.winehq.org/show_bug.cgi?id=20495
+EncryptorTest.EncryptionDecryption
+
+# fail
+# http://bugs.winehq.org/show_bug.cgi?id=20495
+EncryptorTest.String16EncryptionDecryption
+
+# fail
+# http://bugs.winehq.org/show_bug.cgi?id=20625
+ImporterTest.IEImporter
+
+# fail
+# http://bugs.winehq.org/show_bug.cgi?id=20624
+RenderViewTest.InsertCharacters
+
+# fail
+# http://bugs.winehq.org/show_bug.cgi?id=20340
+SafeBrowsingProtocolParsingTest.TestVerifyChunkMac
+
+# fail
+# http://bugs.winehq.org/show_bug.cgi?id=20340
+SafeBrowsingProtocolParsingTest.TestVerifyUpdateMac
+
+# fail_wine_vmware
+RenderProcessTest.TestTransportDIBAllocation
+
+# hang-valgrind
+# Not really a hang, just takes 30 minutes
+ExtensionAPIClientTest.*
+
+# hang-valgrind
+# http://crbug.com/33446
+Win32WifiDataProviderTest.*