Add --vg-arg option to clang test runner.

- Passes additional argument through to valgrind.

Also, don't run valgrind with --leak-check=no by default.

llvm-svn: 80981
This commit is contained in:
Daniel Dunbar 2009-09-04 02:53:50 +00:00
parent bfb000f337
commit 3009f81d1d
3 changed files with 9 additions and 3 deletions

View File

@ -257,6 +257,9 @@ def main():
group.add_option("", "--vg", dest="useValgrind",
help="Run tests under valgrind",
action="store_true", default=False)
group.add_option("", "--vg-arg", dest="valgrindArgs",
help="Specify an extra argument for valgrind",
type=str, action="append", default=[])
group.add_option("", "--time-tests", dest="timeTests",
help="Track elapsed wall time for each test",
action="store_true", default=False)
@ -320,6 +323,7 @@ def main():
cfg.clang = opts.clang
cfg.clangcc = opts.clangcc
cfg.useValgrind = opts.useValgrind
cfg.valgrindArgs = opts.valgrindArgs
cfg.useExternalShell = opts.useExternalShell
# FIXME: It could be worth loading these in parallel with testing.

View File

@ -149,9 +149,10 @@ def executeScript(cfg, script, commands, cwd):
if cfg.useValgrind:
# FIXME: Running valgrind on sh is overkill. We probably could just
# run on clang with no real loss.
command = ['valgrind', '-q',
'--tool=memcheck', '--leak-check=no', '--trace-children=yes',
'--error-exitcode=123'] + command
valgrindArgs = ['valgrind', '-q',
'--tool=memcheck', '--trace-children=yes',
'--error-exitcode=123'] + cfg.valgrindArgs
command = valgrindArgs + command
p = subprocess.Popen(command, cwd=cwd,
stdin=subprocess.PIPE,

View File

@ -20,6 +20,7 @@ class TestingConfig:
self.root = None
self.useValgrind = None
self.useExternalShell = None
self.valgrindArgs = []
# FIXME: These need to move into a substitutions mechanism.
self.clang = None