summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortimurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-30 12:46:34 +0000
committertimurrrr@chromium.org <timurrrr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-30 12:46:34 +0000
commite28f36f30c0ae727cf5bb9172f9880a5325703a9 (patch)
tree354304ecbf23b4d6824cdf3dc9ed63e3d7c6f631
parentbcb1a598e54dd0ed53ef166913c9868dccffd7ce (diff)
downloadchromium_src-e28f36f30c0ae727cf5bb9172f9880a5325703a9.zip
chromium_src-e28f36f30c0ae727cf5bb9172f9880a5325703a9.tar.gz
chromium_src-e28f36f30c0ae727cf5bb9172f9880a5325703a9.tar.bz2
Add win32 gtest filter files shared between Wine and TSan/Windows
BUG=28363 Review URL: http://codereview.chromium.org/1377003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43076 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--base/data/valgrind/base_unittests.gtest_win32.txt7
-rw-r--r--base/data/valgrind/base_unittests.gtest_wine.txt18
-rwxr-xr-xtools/valgrind/chrome_tests.py17
-rwxr-xr-xtools/valgrind/common.py15
-rwxr-xr-xtools/valgrind/valgrind_test.py12
5 files changed, 30 insertions, 39 deletions
diff --git a/base/data/valgrind/base_unittests.gtest_win32.txt b/base/data/valgrind/base_unittests.gtest_win32.txt
new file mode 100644
index 0000000..525648c
--- /dev/null
+++ b/base/data/valgrind/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/base/data/valgrind/base_unittests.gtest_wine.txt b/base/data/valgrind/base_unittests.gtest_wine.txt
index 620c53d..17d3085 100644
--- a/base/data/valgrind/base_unittests.gtest_wine.txt
+++ b/base/data/valgrind/base_unittests.gtest_wine.txt
@@ -19,9 +19,6 @@ BaseWinUtilTest.FormatMessageW
# fails under wine + valgrind TODO(thestig): investigate
ConditionVariableTest.LargeFastTaskTest
-# dontcare-hang
-DirectoryWatcherTest.*
-
# hang
# http://bugs.winehq.org/show_bug.cgi?id=20946, advapi32.ControlTrace() not yet implemented
EtwTraceControllerTest.EnableDisable
@@ -95,20 +92,5 @@ StatsTableTest.StatsRate
# fails under wine + valgrind TODO(thestig): investigate
StatsTableTest.StatsScope
-# flaky-valgrind
-# fails half the time under valgrind, timing issue?
-TimeTicks.Deltas
-
-# dontcare-winfail
-# fails if run individually on windows
-TimeTicks.HighResNow
-
-# hang-valgrind
-TimerTest.RepeatingTimer*
-
-# hang-valgrind
-# not really a hang, takes 1000 seconds
-TimeTicks.WinRollover
-
# dontcare
WMIUtilTest.*
diff --git a/tools/valgrind/chrome_tests.py b/tools/valgrind/chrome_tests.py
index cd8f891..fb29b30 100755
--- a/tools/valgrind/chrome_tests.py
+++ b/tools/valgrind/chrome_tests.py
@@ -135,12 +135,12 @@ class ChromeTests:
if os.path.exists(suppression_file):
cmd.append("--suppressions=%s" % suppression_file)
# Platform specific suppression
- suppression_platform = common.PlatformName()
- 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)
+ 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)
cmd.append("--tool=%s" % self._options.valgrind_tool)
if self._options.valgrind_tool_flags:
@@ -171,11 +171,12 @@ class ChromeTests:
'''
filters = []
for directory in self._data_dirs:
- platform_suffix = common.PlatformName()
gtest_filter_files = [
os.path.join(directory, name + ".gtest.txt"),
os.path.join(directory, name + ".gtest-%s.txt" % \
- self._options.valgrind_tool),
+ self._options.valgrind_tool)]
+ 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" % \
(self._options.valgrind_tool, platform_suffix))]
diff --git a/tools/valgrind/common.py b/tools/valgrind/common.py
index 52af411..8b855f6 100755
--- a/tools/valgrind/common.py
+++ b/tools/valgrind/common.py
@@ -142,15 +142,18 @@ def IsWine():
os.environ.get('WINESERVER'))
-def PlatformName():
- """Return a string to be used in paths for the platform."""
+def PlatformNames():
+ """Return an array of string to be used in paths for the platform
+ (e.g. suppressions, gtest filters, ignore files etc.)
+ The first element of the array describes the 'main' platform
+ """
# This has to be before IsLinux()
if IsWine():
- return 'wine'
+ return ['wine', 'win32']
if IsLinux():
- return 'linux'
+ return ['linux']
if IsMac():
- return 'mac'
+ return ['mac']
if IsWindows():
- return 'win32'
+ return ['win32']
raise NotImplementedError('Unknown platform "%s".' % sys.platform)
diff --git a/tools/valgrind/valgrind_test.py b/tools/valgrind/valgrind_test.py
index 138b43e..23f2359 100755
--- a/tools/valgrind/valgrind_test.py
+++ b/tools/valgrind/valgrind_test.py
@@ -479,8 +479,8 @@ class ThreadSanitizer(ValgrindTool):
ret = []
ignore_files = ["ignores.txt"]
- platform_suffix = common.PlatformName()
- ignore_files.append("ignores_%s.txt" % platform_suffix)
+ for platform_suffix in common.PlatformNames():
+ ignore_files.append("ignores_%s.txt" % platform_suffix)
for ignore_file in ignore_files:
fullname = os.path.join(self._source_dir,
"tools", "valgrind", "tsan", ignore_file)
@@ -537,13 +537,11 @@ class ToolFactory:
if tool_name == "wine_memcheck" and common.IsWine():
return Memcheck()
if tool_name == "tsan":
- if not common.IsLinux():
- logging.info("WARNING: ThreadSanitizer may be unstable on Mac.")
- logging.info("See http://code.google.com/p/data-race-test/wiki/"
- "ThreadSanitizerOnMacOsx for the details")
+ if common.IsWindows():
+ logging.info("WARNING: ThreadSanitizer Windows support is experimental.")
return ThreadSanitizer()
try:
- platform_name = common.PlatformName()
+ platform_name = common.PlatformNames()[0]
except common.NotImplementedError:
platform_name = sys.platform + "(Unknown)"
raise RuntimeError, "Unknown tool (tool=%s, platform=%s)" % (tool_name,