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

Side by Side Diff: webkit/tools/layout_tests/layout_package/test_shell_thread.py

Issue 55034: Support valgrinding layout tests. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 8 months 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) 2006-2008 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2006-2008 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 """A Thread object for running the test shell and processing URLs from a 5 """A Thread object for running the test shell and processing URLs from a
6 shared queue. 6 shared queue.
7 7
8 Each thread runs a separate instance of the test_shell binary and validates 8 Each thread runs a separate instance of the test_shell binary and validates
9 the output. When there are no more URLs to process in the shared queue, the 9 the output. When there are no more URLs to process in the shared queue, the
10 thread exits. 10 thread exits.
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 # Don't add any more failures if we already have a crash or timeout, so 95 # Don't add any more failures if we already have a crash or timeout, so
96 # we don't double-report those tests. 96 # we don't double-report those tests.
97 if not crash_or_timeout: 97 if not crash_or_timeout:
98 failures.extend(new_failures) 98 failures.extend(new_failures)
99 99
100 return failures 100 return failures
101 101
102 102
103 def StartTestShell(command, args): 103 def StartTestShell(command, args):
104 """Returns the process for a new test_shell started in layout-tests mode.""" 104 """Returns the process for a new test_shell started in layout-tests mode."""
105 cmd = command + ['--layout-tests'] + args 105 cmd = []
106 # Hook for injecting valgrind or other runtime instrumentation,
107 # used by e.g. tools/valgrind/valgrind_tests.py.
108 wrapper = os.environ["BROWSER_WRAPPER"]
109 if wrapper != None:
110 cmd += [wrapper]
111 cmd += command + ['--layout-tests'] + args
106 return subprocess.Popen(cmd, 112 return subprocess.Popen(cmd,
107 stdin=subprocess.PIPE, 113 stdin=subprocess.PIPE,
108 stdout=subprocess.PIPE, 114 stdout=subprocess.PIPE,
109 stderr=subprocess.STDOUT) 115 stderr=subprocess.STDOUT)
110 116
111 117
112 class SingleTestThread(threading.Thread): 118 class SingleTestThread(threading.Thread):
113 """Thread wrapper for running a single test file.""" 119 """Thread wrapper for running a single test file."""
114 def __init__(self, test_shell_command, shell_args, test_uri, filename, 120 def __init__(self, test_shell_command, shell_args, test_uri, filename,
115 test_types, test_args, target): 121 test_types, test_args, target):
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 self._shell_args) 335 self._shell_args)
330 336
331 def _KillTestShell(self): 337 def _KillTestShell(self):
332 """Kill the test shell process if it's running.""" 338 """Kill the test shell process if it's running."""
333 if self._test_shell_proc: 339 if self._test_shell_proc:
334 self._test_shell_proc.stdin.close() 340 self._test_shell_proc.stdin.close()
335 self._test_shell_proc.stdout.close() 341 self._test_shell_proc.stdout.close()
336 if self._test_shell_proc.stderr: 342 if self._test_shell_proc.stderr:
337 self._test_shell_proc.stderr.close() 343 self._test_shell_proc.stderr.close()
338 self._test_shell_proc = None 344 self._test_shell_proc = None
OLDNEW
« tools/valgrind/valgrind_analyze.py ('K') | « webkit/data/valgrind/suppressions.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698