From b85a38056aa5b6ca256a579c3c7616491e629df4 Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Fri, 7 Oct 2011 12:05:58 +0100 Subject: Add -t/--test option for running only specific tests. --- cmdtest | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'cmdtest') diff --git a/cmdtest b/cmdtest index b752948..62ea3b0 100755 --- a/cmdtest +++ b/cmdtest @@ -19,6 +19,7 @@ __version__ = '0.0' import cliapp +import glob import logging import os import shutil @@ -48,6 +49,9 @@ class CommandTester(cliapp.Application): 'necessary)', metavar='COMMAND', default=None) + self.settings.string_list(['test', 't'], + 'run only TEST (can be given many times)', + metavar='TEST') def process_args(self, dirnames): self.settings.require('command') @@ -86,9 +90,20 @@ class CommandTester(cliapp.Application): def load_tests(self, dirnames): td = cmdtestlib.TestDir() for dirname in dirnames: - td.scan(dirname) + if self.settings['test']: + filenames = self.find_requested_tests(dirname) + td.scan(dirname, filenames) + else: + td.scan(dirname) return td + def find_requested_tests(self, dirname): + filenames = [] + for test in self.settings['test']: + matches = glob.glob(os.path.join(dirname, test + '.*')) + filenames += [os.path.basename(x) for x in matches] + return filenames + def setup_tempdir(self): self.tempdir = tempfile.mkdtemp() logging.info('Temporary directory %s' % self.tempdir) -- cgit v1.2.1