| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 """Runs an exe through Valgrind and puts the intermediate files in a | 5 """Runs an exe through Valgrind and puts the intermediate files in a |
| 6 directory. | 6 directory. |
| 7 """ | 7 """ |
| 8 | 8 |
| 9 import datetime | 9 import datetime |
| 10 import glob | 10 import glob |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 373 logging.warning("WARNING: NOT USING SUPPRESSIONS!") | 373 logging.warning("WARNING: NOT USING SUPPRESSIONS!") |
| 374 | 374 |
| 375 logfilename = self.log_dir + ("/%s." % tool_name) + "%p" | 375 logfilename = self.log_dir + ("/%s." % tool_name) + "%p" |
| 376 if self.UseXML(): | 376 if self.UseXML(): |
| 377 proc += ["--xml=yes", "--xml-file=" + logfilename] | 377 proc += ["--xml=yes", "--xml-file=" + logfilename] |
| 378 else: | 378 else: |
| 379 proc += ["--log-file=" + logfilename] | 379 proc += ["--log-file=" + logfilename] |
| 380 | 380 |
| 381 # The Valgrind command is constructed. | 381 # The Valgrind command is constructed. |
| 382 | 382 |
| 383 # Valgrind doesn't play nice with the Chrome sandbox. Empty this env var | |
| 384 # set by runtest.py to disable the sandbox. | |
| 385 if os.environ.get("CHROME_DEVEL_SANDBOX", None): | |
| 386 logging.info("Removing CHROME_DEVEL_SANDBOX from environment") | |
| 387 os.environ["CHROME_DEVEL_SANDBOX"] = '' | |
| 388 | |
| 389 # Handle --indirect_webkit_layout separately. | 383 # Handle --indirect_webkit_layout separately. |
| 390 if self._options.indirect_webkit_layout: | 384 if self._options.indirect_webkit_layout: |
| 391 # Need to create the wrapper before modifying |proc|. | 385 # Need to create the wrapper before modifying |proc|. |
| 392 wrapper = self.CreateBrowserWrapper(proc, webkit=True) | 386 wrapper = self.CreateBrowserWrapper(proc, webkit=True) |
| 393 proc = self._args | 387 proc = self._args |
| 394 proc.append("--wrapper") | 388 proc.append("--wrapper") |
| 395 proc.append(wrapper) | 389 proc.append(wrapper) |
| 396 return proc | 390 return proc |
| 397 | 391 |
| 398 if self._options.indirect: | 392 if self._options.indirect: |
| (...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 711 | 705 |
| 712 # Un-comment to disable interleaved output. Will also suppress error | 706 # Un-comment to disable interleaved output. Will also suppress error |
| 713 # messages normally printed to stderr. | 707 # messages normally printed to stderr. |
| 714 #proc += ["-quiet", "-no_results_to_stderr"] | 708 #proc += ["-quiet", "-no_results_to_stderr"] |
| 715 | 709 |
| 716 proc += ["-callstack_max_frames", "40"] | 710 proc += ["-callstack_max_frames", "40"] |
| 717 | 711 |
| 718 # disable leak scan for now | 712 # disable leak scan for now |
| 719 proc += ["-no_count_leaks", "-no_leak_scan"] | 713 proc += ["-no_count_leaks", "-no_leak_scan"] |
| 720 | 714 |
| 715 # disable warnings about unaddressable prefetches |
| 716 proc += ["-no_check_prefetch"] |
| 717 |
| 721 # crbug.com/413215, no heap mismatch check for Windows release build binary | 718 # crbug.com/413215, no heap mismatch check for Windows release build binary |
| 722 if common.IsWindows() and "Release" in self._options.build_dir: | 719 if common.IsWindows() and "Release" in self._options.build_dir: |
| 723 proc += ["-no_check_delete_mismatch"] | 720 proc += ["-no_check_delete_mismatch"] |
| 724 | 721 |
| 725 # make callstacks easier to read | 722 # make callstacks easier to read |
| 726 proc += ["-callstack_srcfile_prefix", | 723 proc += ["-callstack_srcfile_prefix", |
| 727 "build\\src,chromium\\src,crt_build\\self_x86"] | 724 "build\\src,chromium\\src,crt_build\\self_x86"] |
| 728 proc += ["-callstack_modname_hide", | 725 proc += ["-callstack_modname_hide", |
| 729 "*drmemory*,chrome.dll"] | 726 "*drmemory*,chrome.dll"] |
| 730 | 727 |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 828 return DrMemory(False, True) | 825 return DrMemory(False, True) |
| 829 try: | 826 try: |
| 830 platform_name = common.PlatformNames()[0] | 827 platform_name = common.PlatformNames()[0] |
| 831 except common.NotImplementedError: | 828 except common.NotImplementedError: |
| 832 platform_name = sys.platform + "(Unknown)" | 829 platform_name = sys.platform + "(Unknown)" |
| 833 raise RuntimeError, "Unknown tool (tool=%s, platform=%s)" % (tool_name, | 830 raise RuntimeError, "Unknown tool (tool=%s, platform=%s)" % (tool_name, |
| 834 platform_name) | 831 platform_name) |
| 835 | 832 |
| 836 def CreateTool(tool): | 833 def CreateTool(tool): |
| 837 return ToolFactory().Create(tool) | 834 return ToolFactory().Create(tool) |
| OLD | NEW |