Home | History | Annotate | Download | only in flavor
      1 # Copyright 2014 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 
      6 import gn_flavor
      7 
      8 
      9 """Utils for running under Valgrind."""
     10 
     11 
     12 class ValgrindFlavorUtils(gn_flavor.GNFlavorUtils):
     13   def __init__(self, m):
     14     super(ValgrindFlavorUtils, self).__init__(m)
     15     self._suppressions_file = self.m.vars.skia_dir.join(
     16         'tools', 'valgrind.supp')
     17 
     18   def step(self, name, cmd, **kwargs):
     19     new_cmd = ['valgrind', '--gen-suppressions=all', '--leak-check=full',
     20                '--track-origins=yes', '--error-exitcode=1', '--num-callers=40',
     21                '--suppressions=%s' % self._suppressions_file]
     22     path_to_app = self.out_dir.join(cmd[0])
     23     new_cmd.append(path_to_app)
     24     new_cmd.extend(cmd[1:])
     25     return self.m.run(self.m.step, name, cmd=new_cmd,
     26                             **kwargs)
     27 
     28