Skip to content
Snippets Groups Projects
Commit 3c65bca2 authored by Nicolas Noble's avatar Nicolas Noble
Browse files

Merge pull request #582 from ctiller/chex2

Make valgrind a bit more useful
parents e359002e 1a305b1d
No related branches found
No related tags found
No related merge requests found
...@@ -62,15 +62,18 @@ class SimpleConfig(object): ...@@ -62,15 +62,18 @@ class SimpleConfig(object):
# ValgrindConfig: compile with some CONFIG=config, but use valgrind to run # ValgrindConfig: compile with some CONFIG=config, but use valgrind to run
class ValgrindConfig(object): class ValgrindConfig(object):
def __init__(self, config, tool): def __init__(self, config, tool, args=[]):
self.build_config = config self.build_config = config
self.tool = tool self.tool = tool
self.args = args
self.maxjobs = 2 * multiprocessing.cpu_count() self.maxjobs = 2 * multiprocessing.cpu_count()
self.allow_hashing = False self.allow_hashing = False
def job_spec(self, binary, hash_targets): def job_spec(self, binary, hash_targets):
return jobset.JobSpec(cmdline=['valgrind', '--tool=%s' % self.tool, binary], return jobset.JobSpec(cmdline=['valgrind', '--tool=%s' % self.tool] +
hash_targets=None) self.args + [binary],
shortname='valgrind %s' % binary,
hash_targets=None)
class CLanguage(object): class CLanguage(object):
...@@ -144,7 +147,7 @@ _CONFIGS = { ...@@ -144,7 +147,7 @@ _CONFIGS = {
'asan': SimpleConfig('asan', environ={ 'asan': SimpleConfig('asan', environ={
'ASAN_OPTIONS': 'detect_leaks=1:color=always:suppressions=tools/tsan_suppressions.txt'}), 'ASAN_OPTIONS': 'detect_leaks=1:color=always:suppressions=tools/tsan_suppressions.txt'}),
'gcov': SimpleConfig('gcov'), 'gcov': SimpleConfig('gcov'),
'memcheck': ValgrindConfig('valgrind', 'memcheck'), 'memcheck': ValgrindConfig('valgrind', 'memcheck', ['--leak-check=full']),
'helgrind': ValgrindConfig('dbg', 'helgrind') 'helgrind': ValgrindConfig('dbg', 'helgrind')
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment