aboutsummaryrefslogtreecommitdiff
path: root/backends.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-03-22 22:48:28 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-03-22 22:48:28 +0200
commit91331283beb6fedfa5e75a051ae648b55abc94bf (patch)
treed7b4ee311edee103855e585536f3a66750e1f673 /backends.py
parent9da40d6e3d185c1ed8a5f871d1fc31de7d948eba (diff)
downloadmeson-91331283beb6fedfa5e75a051ae648b55abc94bf.zip
meson-91331283beb6fedfa5e75a051ae648b55abc94bf.tar.gz
meson-91331283beb6fedfa5e75a051ae648b55abc94bf.tar.bz2
Can run test suite under Valgrind.
Diffstat (limited to 'backends.py')
-rwxr-xr-xbackends.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/backends.py b/backends.py
index 68dd142..f9bcbb6 100755
--- a/backends.py
+++ b/backends.py
@@ -395,14 +395,22 @@ class NinjaBackend(Backend):
d.data.append(i)
def generate_tests(self, outfile):
+ valgrind = environment.find_valgrind()
script_root = self.environment.get_script_dir()
test_script = os.path.join(script_root, 'meson_test.py')
test_data = os.path.join(self.environment.get_scratch_dir(), 'meson_test_setup.dat')
+ cmd = [sys.executable, test_script, test_data]
elem = NinjaBuildElement('test', 'CUSTOM_COMMAND', 'all')
- elem.add_item('COMMAND', [sys.executable, test_script, test_data])
+ elem.add_item('COMMAND', cmd)
elem.add_item('DESC', 'Running test suite.')
elem.write(outfile)
-
+
+ if valgrind:
+ velem = NinjaBuildElement('test-valgrind', 'CUSTOM_COMMAND', 'all')
+ velem.add_item('COMMAND', cmd + ['--wrapper=' + valgrind])
+ velem.add_item('DESC', 'Running test suite under valgrind.')
+ velem.write(outfile)
+
datafile = open(test_data, 'w')
for t in self.build.get_tests():
datafile.write(self.get_target_filename(t.get_exe()) + '\n')