diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2014-05-18 15:03:40 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2014-05-18 15:03:40 -0400 |
commit | e4d3d19a4192536d35e419468354bd8d14904098 (patch) | |
tree | 06d1e5e766209d17e18001357e5f80c0c59e6a08 | |
parent | a303040026b738c4e81cfc42f102dafb8e040353 (diff) | |
download | python-coveragepy-git-e4d3d19a4192536d35e419468354bd8d14904098.tar.gz |
Move shell globbing into cmdline.py
-rw-r--r-- | coverage/cmdline.py | 17 | ||||
-rw-r--r-- | coverage/codeunit.py | 11 |
2 files changed, 16 insertions, 12 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py index 19e0536e..9a67b436 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -1,6 +1,6 @@ """Command-line support for Coverage.""" -import optparse, os, sys, time, traceback +import glob, optparse, os, sys, time, traceback from coverage.execfile import run_python_file, run_python_module from coverage.misc import CoverageException, ExceptionDuringRun, NoSource @@ -449,7 +449,7 @@ class CoverageScript(object): # Remaining actions are reporting, with some common options. report_args = dict( - morfs = args, + morfs = unglob_args(args), ignore_errors = options.ignore_errors, omit = omit, include = include, @@ -633,6 +633,19 @@ def unshell_list(s): return s.split(',') +def unglob_args(args): + """Interpret shell wildcards for platforms that need it.""" + if sys.platform == 'win32': + globbed = [] + for arg in args: + if '?' in arg or '*' in arg: + globbed.extend(glob.glob(arg)) + else: + globbed.append(arg) + args = globbed + return args + + HELP_TOPICS = { # ------------------------- 'classic': diff --git a/coverage/codeunit.py b/coverage/codeunit.py index 88858801..23f49e8b 100644 --- a/coverage/codeunit.py +++ b/coverage/codeunit.py @@ -1,6 +1,6 @@ """Code unit (module) handling for Coverage.""" -import glob, os, re +import os, re from coverage.backward import open_python_source, string_class, StringIO from coverage.misc import CoverageException, NoSource @@ -22,15 +22,6 @@ def code_unit_factory(morfs, file_locator): if not isinstance(morfs, (list, tuple)): morfs = [morfs] - # On Windows, the shell doesn't expand wildcards. Do it here. - globbed = [] - for morf in morfs: - if isinstance(morf, string_class) and ('?' in morf or '*' in morf): - globbed.extend(glob.glob(morf)) - else: - globbed.append(morf) - morfs = globbed - code_units = [] for morf in morfs: # Hacked-in Mako support. Disabled for going onto trunk. |