| OLD | NEW |
| (Empty) |
| 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
| 2 # Use of this source code is governed by a BSD-style license that can be | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 """ Utilities for Valgrind build steps. """ | |
| 6 | |
| 7 from default_build_step_utils import DefaultBuildStepUtils | |
| 8 from py.utils import shell_utils | |
| 9 | |
| 10 import os | |
| 11 | |
| 12 | |
| 13 class ValgrindBuildStepUtils(DefaultBuildStepUtils): | |
| 14 def __init__(self, build_step_instance): | |
| 15 DefaultBuildStepUtils.__init__(self, build_step_instance) | |
| 16 self._suppressions_file = os.path.join('tools', 'valgrind.supp') | |
| 17 | |
| 18 def RunFlavoredCmd(self, app, args): | |
| 19 """ Override this in new BuildStep flavors. """ | |
| 20 cmd = ['valgrind', '--gen-suppressions=all', '--leak-check=no', | |
| 21 '--track-origins=yes', '--error-exitcode=1'] | |
| 22 if self._suppressions_file: | |
| 23 cmd.append('--suppressions=%s' % self._suppressions_file) | |
| 24 | |
| 25 cmd.append(self._PathToBinary(app)) | |
| 26 cmd.extend(args) | |
| 27 return shell_utils.run(cmd) | |
| 28 | |
| 29 def Compile(self, target): | |
| 30 os.environ['GYP_DEFINES'] = self._step.args['gyp_defines'] | |
| 31 print 'GYP_DEFINES="%s"' % os.environ['GYP_DEFINES'] | |
| 32 make_cmd = 'make' | |
| 33 if os.name == 'nt': | |
| 34 make_cmd = 'make.bat' | |
| 35 cmd = [make_cmd, | |
| 36 target, | |
| 37 'BUILDTYPE=%s' % self._step.configuration, | |
| 38 ] | |
| 39 cmd.extend(self._step.default_make_flags) | |
| 40 cmd.extend(self._step.make_flags) | |
| 41 shell_utils.run(cmd) | |
| OLD | NEW |