diff options
author | Lars Wirzenius <liw@liw.fi> | 2011-10-07 12:05:58 +0100 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2011-10-07 12:05:58 +0100 |
commit | b85a38056aa5b6ca256a579c3c7616491e629df4 (patch) | |
tree | 826ca5f8a7ea7dc6df4022d4e30fb708502d509f /cmdtest | |
parent | 95b19ae0eff9483b53b1359e4aed2443a609b09c (diff) | |
download | cmdtest-b85a38056aa5b6ca256a579c3c7616491e629df4.tar.gz |
Add -t/--test option for running only specific tests.
Diffstat (limited to 'cmdtest')
-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) |