summaryrefslogtreecommitdiffstats
path: root/tools/valgrind/valgrind_test.py
diff options
context:
space:
mode:
authorthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-02 05:19:16 +0000
committerthestig@chromium.org <thestig@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-02 05:19:16 +0000
commit8523c3503496841cb9d3d6ca464496e164e49a0d (patch)
tree6d77dda28b666e77613b0d5e53703821d9b5f018 /tools/valgrind/valgrind_test.py
parent53864410565856ced011582904b2fbd3d50f6c2c (diff)
downloadchromium_src-8523c3503496841cb9d3d6ca464496e164e49a0d.zip
chromium_src-8523c3503496841cb9d3d6ca464496e164e49a0d.tar.gz
chromium_src-8523c3503496841cb9d3d6ca464496e164e49a0d.tar.bz2
valgrind: Refactor valgrind tools to use Is{Linux,Mac,Win}() and PlatformName() instead of sys.platform directly in preparation for adding IsWine().
BUG=none TEST=none Review URL: http://codereview.chromium.org/549214 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37798 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/valgrind/valgrind_test.py')
-rwxr-xr-xtools/valgrind/valgrind_test.py27
1 files changed, 15 insertions, 12 deletions
diff --git a/tools/valgrind/valgrind_test.py b/tools/valgrind/valgrind_test.py
index fa164e5..4777b44 100755
--- a/tools/valgrind/valgrind_test.py
+++ b/tools/valgrind/valgrind_test.py
@@ -149,7 +149,7 @@ class ValgrindTool(object):
it looks like a fake_dsym. A non-fake dsym that already exists is assumed
to be up-to-date.
"""
- if sys.platform != 'darwin':
+ if not common.IsMac():
return
test_command = self._args[0]
@@ -363,8 +363,9 @@ class Memcheck(ValgrindTool):
# Glob all the files in the "valgrind.tmp" directory
filenames = glob.glob(self.TMP_DIR + "/memcheck.*")
- use_gdb = (sys.platform == 'darwin')
- analyzer = memcheck_analyze.MemcheckAnalyze(self._source_dir, filenames, self._options.show_all_leaks,
+ use_gdb = common.IsMac()
+ analyzer = memcheck_analyze.MemcheckAnalyze(self._source_dir, filenames,
+ self._options.show_all_leaks,
use_gdb=use_gdb)
ret = analyzer.Report()
if ret != 0:
@@ -410,10 +411,7 @@ class ThreadSanitizer(ValgrindTool):
ret = []
ignore_files = ["ignores.txt"]
- platform_suffix = {
- 'darwin': 'mac',
- 'linux2': 'linux'
- }[sys.platform]
+ platform_suffix = common.PlatformName()
ignore_files.append("ignores_%s.txt" % platform_suffix)
for ignore_file in ignore_files:
fullname = os.path.join(self._source_dir,
@@ -443,7 +441,7 @@ class ThreadSanitizer(ValgrindTool):
def Analyze(self):
filenames = glob.glob(self.TMP_DIR + "/tsan.*")
- use_gdb = (sys.platform == 'darwin')
+ use_gdb = common.IsMac()
analyzer = tsan_analyze.TsanAnalyze(self._source_dir, filenames,
use_gdb=use_gdb)
ret = analyzer.Report()
@@ -458,15 +456,20 @@ class ToolFactory:
def Create(self, tool_name):
if tool_name == "memcheck":
return Memcheck()
+ if tool_name == "memcheck_wine":
+ return Memcheck()
if tool_name == "tsan":
- if sys.platform != 'linux2':
+ if not 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")
return ThreadSanitizer()
- raise RuntimeError, "Unknown tool" \
- "(tool=%s, platform=%s)" % \
- (tool_name, sys.platform)
+ try:
+ platform_name = common.PlatformName()
+ except common.NotImplementedError:
+ platform_name = sys.platform + "(Unknown)"
+ raise RuntimeError, "Unknown tool (tool=%s, platform=%s)" % (tool_name,
+ platform_name)
def RunTool(argv):
# TODO(timurrrr): customize optparse instead