From 62c7dcf32d1043fa939a1fade0610fec7b6b1b3d Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Thu, 23 Feb 2017 04:44:54 +0530 Subject: [PATCH] mesontest: Use shlex.split for parsing the wrapper Allows people to pass arguments with spaces in them. Do this using argparse itself instead of doing an isinstance later. --- mesontest.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/mesontest.py b/mesontest.py index 980fbee2d..ef5cff656 100755 --- a/mesontest.py +++ b/mesontest.py @@ -16,6 +16,7 @@ # A tool to run tests in many different ways. +import shlex import subprocess, sys, os, argparse import pickle from mesonbuild import build @@ -61,7 +62,7 @@ parser.add_argument('--gdb', default=False, dest='gdb', action='store_true', help='Run test under gdb.') parser.add_argument('--list', default=False, dest='list', action='store_true', help='List available tests.') -parser.add_argument('--wrapper', default=None, dest='wrapper', +parser.add_argument('--wrapper', default=None, dest='wrapper', type=shlex.split, help='wrapper to run tests with (e.g. Valgrind)') parser.add_argument('-C', default='.', dest='wd', help='directory to cd into before running') @@ -421,10 +422,7 @@ TIMEOUT: %4d if self.options.repeat > 1: wrap += ['-ex', 'run', '-ex', 'quit'] elif self.options.wrapper: - if isinstance(self.options.wrapper, str): - wrap = self.options.wrapper.split() - else: - wrap = self.options.wrapper + wrap += self.options.wrapper assert(isinstance(wrap, list)) return wrap