diff options
author | Ned Batchelder <nedbat@gmail.com> | 2015-07-30 07:14:54 -0400 |
---|---|---|
committer | Ned Batchelder <nedbat@gmail.com> | 2015-07-30 07:14:54 -0400 |
commit | 31f58b1165dd67d443b1e5fd0403574774a23bfc (patch) | |
tree | 06bb807d8a377c95156bdc812c76be6819b50cf1 /coverage/data.py | |
parent | 07233cf423384d0a5bb819382d2005e49d9d945c (diff) | |
parent | c302b891209baf67abcdb1d49896397deea46f67 (diff) | |
download | python-coveragepy-git-31f58b1165dd67d443b1e5fd0403574774a23bfc.tar.gz |
Merged in atodorov/coverage.py/combine_files_and_dirs (pull request #62)
Extend combine parameters to allow for file names and shell globs
Diffstat (limited to 'coverage/data.py')
-rw-r--r-- | coverage/data.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/coverage/data.py b/coverage/data.py index de68dba1..4e7d999e 100644 --- a/coverage/data.py +++ b/coverage/data.py @@ -616,12 +616,21 @@ class CoverageDataFiles(object): data_dirs = data_dirs or [data_dir] files_to_combine = [] for d in data_dirs: - if not os.path.isdir(d): - raise CoverageException("Couldn't combine from non-existent directory '%s'" % (d,)) - pattern = os.path.join(os.path.abspath(d), localdot) - files_to_combine.extend(glob.glob(pattern)) + if os.path.isfile(d): + files_to_combine.append(os.path.abspath(d)) + elif os.path.isdir(d): + pattern = os.path.join(os.path.abspath(d), localdot) + files_to_combine.extend(glob.glob(pattern)) + else: + files = glob.glob(d) + if not files: + raise CoverageException("Couldn't combine from non-existing path '%s'" % (d,)) + files_to_combine.extend(files) + for f in files_to_combine: + if not os.path.isfile(f): + raise CoverageException("Couldn't combine from non-existing file '%s'" % (f,)) new_data = CoverageData() new_data.read_file(f) data.update(new_data, aliases=aliases) |