Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: tools/valgrind/common.py

Issue 8688006: Set up python BROWSER_WRAPPER for ui_tests under Dr. Memory (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import logging 5 import logging
6 import os 6 import os
7 import signal 7 import signal
8 import subprocess 8 import subprocess
9 import sys 9 import sys
10 import time 10 import time
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 def BoringCallers(mangled, use_re_wildcards): 155 def BoringCallers(mangled, use_re_wildcards):
156 """Return a list of 'boring' function names (optinally mangled) 156 """Return a list of 'boring' function names (optinally mangled)
157 with */? wildcards (optionally .*/.). 157 with */? wildcards (optionally .*/.).
158 Boring = we drop off the bottom of stack traces below such functions. 158 Boring = we drop off the bottom of stack traces below such functions.
159 """ 159 """
160 160
161 need_mangling = [ 161 need_mangling = [
162 # Don't show our testing framework: 162 # Don't show our testing framework:
163 ("testing::Test::Run", "_ZN7testing4Test3RunEv"), 163 ("testing::Test::Run", "_ZN7testing4Test3RunEv"),
164 ("testing::TestInfo::Run", "_ZN7testing8TestInfo3RunEv"), 164 ("testing::TestInfo::Run", "_ZN7testing8TestInfo3RunEv"),
165 ("testing::internal::Handle*ExceptionsInMethodIfSupported", 165 ("testing::internal::Handle*ExceptionsInMethodIfSupported*",
Timur Iskhodzhanov 2011/11/24 15:01:14 Dr. Memory prints out the <...> template list whic
166 "_ZN7testing8internal3?Handle*ExceptionsInMethodIfSupported*"), 166 "_ZN7testing8internal3?Handle*ExceptionsInMethodIfSupported*"),
167 167
168 # Depend on scheduling: 168 # Depend on scheduling:
169 ("MessageLoop::Run", "_ZN11MessageLoop3RunEv"), 169 ("MessageLoop::Run", "_ZN11MessageLoop3RunEv"),
170 ("MessageLoop::RunTask", "_ZN11MessageLoop7RunTask*"), 170 ("MessageLoop::RunTask", "_ZN11MessageLoop7RunTask*"),
171 ("RunnableMethod*", "_ZN14RunnableMethod*"), 171 ("RunnableMethod*", "_ZN14RunnableMethod*"),
172 ("RunnableFunction*", "_ZN16RunnableFunction*"), 172 ("RunnableFunction*", "_ZN16RunnableFunction*"),
173 ("DispatchToMethod*", "_Z*16DispatchToMethod*"), 173 ("DispatchToMethod*", "_Z*16DispatchToMethod*"),
174 ("base::internal::Invoker*::DoInvoke*", 174 ("base::internal::Invoker*::DoInvoke*",
175 "_ZN4base8internal8Invoker*DoInvoke*"), # Invoker{1,2,3} 175 "_ZN4base8internal8Invoker*DoInvoke*"), # Invoker{1,2,3}
(...skipping 29 matching lines...) Expand all
205 if sys.platform.startswith("cygwin"): 205 if sys.platform.startswith("cygwin"):
206 p = subprocess.Popen(["cygpath", "-m", path], 206 p = subprocess.Popen(["cygpath", "-m", path],
207 stdout=subprocess.PIPE, 207 stdout=subprocess.PIPE,
208 stderr=subprocess.PIPE) 208 stderr=subprocess.PIPE)
209 (out, err) = p.communicate() 209 (out, err) = p.communicate()
210 if err: 210 if err:
211 logging.warning("WARNING: cygpath error: %s", err) 211 logging.warning("WARNING: cygpath error: %s", err)
212 return out.strip() 212 return out.strip()
213 else: 213 else:
214 return path 214 return path
215
216 ############################
217 # Common output format code
218
219 def PrintUsedSuppressionsList(suppcounts):
Timur Iskhodzhanov 2011/11/24 15:01:14 TODO: re-use this for Valgrind and TSan and HeapCh
220 """ Prints out the list of used suppressions in a format common to all the
221 memory tools. If the list is empty, prints nothing and returns False,
222 otherwise True.
223
224 suppcounts: a dictionary of used suppression counts,
225 Key -> name, Value -> count.
226 """
227 if not suppcounts:
228 return False
229
230 print "-----------------------------------------------------"
231 print "Suppressions used:"
232 print " count name"
233 for (name, count) in sorted(suppcounts.items(), key=lambda (k,v): (v,k)):
234 print "%7d %s" % (count, name)
235 print "-----------------------------------------------------"
236 sys.stdout.flush()
237 return True
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698