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

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

Issue 348020: Make --ignore-in-dtor=no the default ThreadSanitizer option (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 11 years, 1 month 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 # valgrind_test.py 6 # valgrind_test.py
7 7
8 '''Runs an exe through Valgrind and puts the intermediate files in a 8 '''Runs an exe through Valgrind and puts the intermediate files in a
9 directory. 9 directory.
10 ''' 10 '''
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 return False 385 return False
386 386
387 def ExtendOptionParser(self, parser): 387 def ExtendOptionParser(self, parser):
388 ValgrindTool.ExtendOptionParser(self, parser) 388 ValgrindTool.ExtendOptionParser(self, parser)
389 parser.add_option("", "--suppressions", default=[], 389 parser.add_option("", "--suppressions", default=[],
390 action="append", 390 action="append",
391 help="path to a valgrind suppression file") 391 help="path to a valgrind suppression file")
392 parser.add_option("", "--pure-happens-before", default="yes", 392 parser.add_option("", "--pure-happens-before", default="yes",
393 dest="pure_happens_before", 393 dest="pure_happens_before",
394 help="Less false reports, more missed races") 394 help="Less false reports, more missed races")
395 parser.add_option("", "--ignore-in-dtor", default="no",
396 dest="ignore_in_dtor",
397 help="Ignore data races inside destructors")
395 parser.add_option("", "--announce-threads", default="yes", 398 parser.add_option("", "--announce-threads", default="yes",
396 dest="announce_threads", 399 dest="announce_threads",
397 help="Show the the stack traces of thread creation") 400 help="Show the the stack traces of thread creation")
398 401
399 def EvalBoolFlag(self, flag_value): 402 def EvalBoolFlag(self, flag_value):
400 if (flag_value in ["1", "true", "yes"]): 403 if (flag_value in ["1", "true", "yes"]):
401 return True 404 return True
402 elif (flag_value in ["0", "false", "no"]): 405 elif (flag_value in ["0", "false", "no"]):
403 return False 406 return False
404 raise RuntimeError, "Can't parse flag value (%s)" % flag_value 407 raise RuntimeError, "Can't parse flag value (%s)" % flag_value
(...skipping 12 matching lines...) Expand all
417 "tools", "valgrind", "tsan", ignore_file) 420 "tools", "valgrind", "tsan", ignore_file)
418 if os.path.exists(fullname): 421 if os.path.exists(fullname):
419 ret += ["--ignore=%s" % fullname] 422 ret += ["--ignore=%s" % fullname]
420 423
421 # The -v flag is needed for printing the list of used suppressions. 424 # The -v flag is needed for printing the list of used suppressions.
422 ret += ["-v"] 425 ret += ["-v"]
423 426
424 ret += ["--file-prefix-to-cut=%s/" % self._source_dir] 427 ret += ["--file-prefix-to-cut=%s/" % self._source_dir]
425 428
426 if self.EvalBoolFlag(self._options.pure_happens_before): 429 if self.EvalBoolFlag(self._options.pure_happens_before):
427 ret += ["--pure-happens-before=yes"]; 430 ret += ["--pure-happens-before=yes"] # "no" is the default value for TSAN
431
432 if not self.EvalBoolFlag(self._options.ignore_in_dtor):
433 ret += ["--ignore-in-dtor=no"] # "yes" is the default value for TSAN
428 434
429 if self.EvalBoolFlag(self._options.announce_threads): 435 if self.EvalBoolFlag(self._options.announce_threads):
430 ret += ["--announce-threads"] 436 ret += ["--announce-threads"]
431 437
432 # --show-pc flag is needed for parsing the error logs on Darwin. 438 # --show-pc flag is needed for parsing the error logs on Darwin.
433 if platform_suffix == 'mac': 439 if platform_suffix == 'mac':
434 ret += ["--show-pc=yes"] 440 ret += ["--show-pc=yes"]
435 441
436 return ret 442 return ret
437 443
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 483
478 if __name__ == "__main__": 484 if __name__ == "__main__":
479 if sys.argv.count("-v") > 0 or sys.argv.count("--verbose") > 0: 485 if sys.argv.count("-v") > 0 or sys.argv.count("--verbose") > 0:
480 google.logging_utils.config_root(logging.DEBUG) 486 google.logging_utils.config_root(logging.DEBUG)
481 else: 487 else:
482 google.logging_utils.config_root() 488 google.logging_utils.config_root()
483 # TODO(timurrrr): valgrind tools may use -v/--verbose as well 489 # TODO(timurrrr): valgrind tools may use -v/--verbose as well
484 490
485 ret = RunTool(sys.argv) 491 ret = RunTool(sys.argv)
486 sys.exit(ret) 492 sys.exit(ret)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698