diff options
author | Hemmo Nieminen <hemmo.nieminen@iki.fi> | 2016-06-03 21:21:26 +0300 |
---|---|---|
committer | Hemmo Nieminen <hemmo.nieminen@iki.fi> | 2016-06-06 10:28:00 +0300 |
commit | 1f76b76a84cb635f764ecbd2b77aaba1d375d72b (patch) | |
tree | 0be0e7587dfd29ecae1b50cbb4fc479cde4ae3b3 | |
parent | fac6f869e08c139d8d84cff56c479a10cad7ac8e (diff) | |
download | meson-1f76b76a84cb635f764ecbd2b77aaba1d375d72b.zip meson-1f76b76a84cb635f764ecbd2b77aaba1d375d72b.tar.gz meson-1f76b76a84cb635f764ecbd2b77aaba1d375d72b.tar.bz2 |
Add support for running specific test suites with valgrind.
-rw-r--r-- | mesonbuild/backend/ninjabackend.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 7a4b0cd..b97d99e 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -131,6 +131,7 @@ class NinjaBackend(backends.Backend): self.ninja_filename = 'build.ninja' self.fortran_deps = {} self.all_outputs = {} + self.valgrind = environment.find_valgrind() def detect_vs_dep_prefix(self, outfile, tempfilename): '''VS writes its dependency in a locale dependent format. @@ -575,9 +576,15 @@ int dummy; elem.add_item('pool', 'console') elem.write(outfile) + if self.valgrind: + velem = NinjaBuildElement(self.all_outputs, 'test-valgrind:' + s, 'CUSTOM_COMMAND', ['all', 'PHONY']) + velem.add_item('COMMAND', cmd + ['--wrapper=' + self.valgrind, '--suite=' + s]) + velem.add_item('DESC', 'Running test suite %s under Valgrind.' % visible_name) + velem.add_item('pool', 'console') + velem.write(outfile) + def generate_tests(self, outfile): (test_data, benchmark_data) = self.serialise_tests() - valgrind = environment.find_valgrind() script_root = self.environment.get_script_dir() cmd = [ sys.executable, self.environment.get_build_command(), '--internal', 'test' ] if not self.environment.coredata.get_builtin_option('stdsplit'): @@ -592,9 +599,9 @@ int dummy; elem.write(outfile) self.write_test_suite_targets(cmd, outfile) - if valgrind: + if self.valgrind: velem = NinjaBuildElement(self.all_outputs, 'test-valgrind', 'CUSTOM_COMMAND', ['all', 'PHONY']) - velem.add_item('COMMAND', cmd + ['--wrapper=' + valgrind]) + velem.add_item('COMMAND', cmd + ['--wrapper=' + self.valgrind]) velem.add_item('DESC', 'Running test suite under Valgrind.') velem.add_item('pool', 'console') velem.write(outfile) |