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

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

Issue 45053: When running ui_tests, need to tell valgrind to also trace child processes. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 9 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 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # chrome_tests.py 6 # chrome_tests.py
7 7
8 ''' Runs various chrome tests through valgrind_test.py. 8 ''' Runs various chrome tests through valgrind_test.py.
9 9
10 This file is a copy of ../purify/chrome_tests.py. Eventually, it would be nice 10 This file is a copy of ../purify/chrome_tests.py. Eventually, it would be nice
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 if os.path.exists(suppression_file): 129 if os.path.exists(suppression_file):
130 cmd.append("--suppressions=%s" % suppression_file) 130 cmd.append("--suppressions=%s" % suppression_file)
131 if self._options.baseline: 131 if self._options.baseline:
132 cmd.append("--baseline") 132 cmd.append("--baseline")
133 if self._options.verbose: 133 if self._options.verbose:
134 cmd.append("--verbose") 134 cmd.append("--verbose")
135 if self._options.show_all_leaks: 135 if self._options.show_all_leaks:
136 cmd.append("--show_all_leaks") 136 cmd.append("--show_all_leaks")
137 if self._options.generate_suppressions: 137 if self._options.generate_suppressions:
138 cmd.append("--generate_suppressions") 138 cmd.append("--generate_suppressions")
139 if exe == "ui_tests":
140 cmd.append("--trace_children")
141 cmd.append("--indirect")
139 if exe: 142 if exe:
140 cmd.append(os.path.join(self._options.build_dir, exe)) 143 cmd.append(os.path.join(self._options.build_dir, exe))
141 # Valgrind runs tests slowly, so slow tests hurt more; show elapased time 144 # Valgrind runs tests slowly, so slow tests hurt more; show elapased time
142 # so we can find the slowpokes. 145 # so we can find the slowpokes.
143 cmd.append("--gtest_print_time"); 146 cmd.append("--gtest_print_time");
144 return cmd 147 return cmd
145 148
146 def Run(self): 149 def Run(self):
147 ''' Runs the test specified by command-line argument --test ''' 150 ''' Runs the test specified by command-line argument --test '''
148 logging.info("running test %s" % (self._test)) 151 logging.info("running test %s" % (self._test))
(...skipping 18 matching lines...) Expand all
167 if gtest_filter: 170 if gtest_filter:
168 gtest_filter += ":" 171 gtest_filter += ":"
169 if gtest_filter.find("-") < 0: 172 if gtest_filter.find("-") < 0:
170 gtest_filter += "-" 173 gtest_filter += "-"
171 else: 174 else:
172 gtest_filter = "-" 175 gtest_filter = "-"
173 gtest_filter += ":".join(filters) 176 gtest_filter += ":".join(filters)
174 if gtest_filter: 177 if gtest_filter:
175 cmd.append("--gtest_filter=%s" % gtest_filter) 178 cmd.append("--gtest_filter=%s" % gtest_filter)
176 179
177 def SimpleTest(self, module, name): 180 def SimpleTest(self, module, name, cmd_args=None):
178 cmd = self._DefaultCommand(module, name) 181 cmd = self._DefaultCommand(module, name)
179 self._ReadGtestFilterFile(name, cmd) 182 self._ReadGtestFilterFile(name, cmd)
183 if cmd_args:
184 cmd.extend(cmd_args)
180 return common.RunSubprocess(cmd, 0) 185 return common.RunSubprocess(cmd, 0)
181 186
182 def ScriptedTest(self, module, exe, name, script, multi=False, cmd_args=None, 187 def ScriptedTest(self, module, exe, name, script, multi=False, cmd_args=None,
183 out_dir_extra=None): 188 out_dir_extra=None):
184 '''Valgrind a target binary, which will be executed one or more times via a 189 '''Valgrind a target binary, which will be executed one or more times via a
185 script or driver program. 190 script or driver program.
186 Args: 191 Args:
187 module - which top level component this test is from (webkit, base, etc.) 192 module - which top level component this test is from (webkit, base, etc.)
188 exe - the name of the exe (it's assumed to exist in build_dir) 193 exe - the name of the exe (it's assumed to exist in build_dir)
189 name - the name of this test (used to name output files) 194 name - the name of this test (used to name output files)
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 def TestNet(self): 243 def TestNet(self):
239 return self.SimpleTest("net", "net_unittests") 244 return self.SimpleTest("net", "net_unittests")
240 245
241 def TestTestShell(self): 246 def TestTestShell(self):
242 return self.SimpleTest("webkit", "test_shell_tests") 247 return self.SimpleTest("webkit", "test_shell_tests")
243 248
244 def TestUnit(self): 249 def TestUnit(self):
245 return self.SimpleTest("chrome", "unit_tests") 250 return self.SimpleTest("chrome", "unit_tests")
246 251
247 def TestUI(self): 252 def TestUI(self):
248 return self.SimpleTest("chrome", "ui_tests") 253 return self.SimpleTest("chrome", "ui_tests",
254 cmd_args=["--",
255 "--ui-test-timeout=120000",
256 "--ui-test-action-timeout=80000",
257 "--ui-test-action-max-timeout=180000"])
249 258
250 # def TestLayoutAll(self): 259 # def TestLayoutAll(self):
251 # return self.TestLayout(run_all=True) 260 # return self.TestLayout(run_all=True)
252 261
253 # def TestLayout(self, run_all=False): 262 # def TestLayout(self, run_all=False):
254 # # A "chunk file" is maintained in the local directory so that each test 263 # # A "chunk file" is maintained in the local directory so that each test
255 # # runs a slice of the layout tests of size chunk_size that increments with 264 # # runs a slice of the layout tests of size chunk_size that increments with
256 # # each run. Since tests can be added and removed from the layout tests at 265 # # each run. Since tests can be added and removed from the layout tests at
257 # # any time, this is not going to give exact coverage, but it will allow us 266 # # any time, this is not going to give exact coverage, but it will allow us
258 # # to continuously run small slices of the layout tests under purify rather 267 # # to continuously run small slices of the layout tests under purify rather
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 for t in options.test: 379 for t in options.test:
371 tests = ChromeTests(options, args, t) 380 tests = ChromeTests(options, args, t)
372 ret = tests.Run() 381 ret = tests.Run()
373 if ret: return ret 382 if ret: return ret
374 return 0 383 return 0
375 384
376 385
377 if __name__ == "__main__": 386 if __name__ == "__main__":
378 ret = _main(sys.argv) 387 ret = _main(sys.argv)
379 sys.exit(ret) 388 sys.exit(ret)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698