aboutsummaryrefslogtreecommitdiff
path: root/meson_test.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-03-22 22:37:34 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-03-22 22:37:34 +0200
commit9da40d6e3d185c1ed8a5f871d1fc31de7d948eba (patch)
treee44928d09f2f21ee61ef80b57e8e979b668d6869 /meson_test.py
parent8ce75af57e7839f1120bee8390cfcd1c6e712be7 (diff)
downloadmeson-9da40d6e3d185c1ed8a5f871d1fc31de7d948eba.zip
meson-9da40d6e3d185c1ed8a5f871d1fc31de7d948eba.tar.gz
meson-9da40d6e3d185c1ed8a5f871d1fc31de7d948eba.tar.bz2
Can specify wrapper binary for unit tests.
Diffstat (limited to 'meson_test.py')
-rwxr-xr-xmeson_test.py24
1 files changed, 18 insertions, 6 deletions
diff --git a/meson_test.py b/meson_test.py
index c33563e..364b3dc 100755
--- a/meson_test.py
+++ b/meson_test.py
@@ -15,13 +15,24 @@
# limitations under the License.
import sys, subprocess
+from optparse import OptionParser
-def run_tests(datafilename):
+parser = OptionParser()
+parser.add_option('--wrapper', default=None, dest='wrapper',
+ help='wrapper to run tests (e.g. valgrind')
+
+
+def run_tests(options, datafilename):
+ if options.wrapper is None:
+ wrap = []
+ else:
+ wrap = [options.wrapper]
for line in open(datafilename, 'r'):
line = line.strip()
if line == '':
continue
- p = subprocess.Popen(line, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ cmd = wrap + [line]
+ p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
(stdo, stde) = p.communicate()
if p.returncode != 0:
print('Error running test.')
@@ -31,8 +42,9 @@ def run_tests(datafilename):
print('Test "%s": OK' % line)
if __name__ == '__main__':
- if len(sys.argv) != 2:
- print('Test runner for Builder. Do not run on your own, mmm\'kay?')
+ (options, args) = parser.parse_args(sys.argv)
+ if len(args) != 2:
+ print('Test runner for Meson. Do not run on your own, mmm\'kay?')
print('%s [data file]' % sys.argv[0])
- datafile = sys.argv[1]
- run_tests(datafile)
+ datafile = args[1]
+ run_tests(options, datafile)