diff options
-rwxr-xr-x | cmdtest | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -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) |