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 |