summaryrefslogtreecommitdiff
path: root/coverage/cmdline.py
diff options
context:
space:
mode:
authorDanny Allen <me@dannya.com>2014-08-11 16:13:06 +0100
committerDanny Allen <me@dannya.com>2014-08-11 16:13:06 +0100
commite38016c499921dd7bf5919a699a76305a1936129 (patch)
tree07a4125732561f2489dfb6b75a339cfef46d80d4 /coverage/cmdline.py
parentc81183f614ca982cd2ed93ac8e6e76610d162202 (diff)
parentee5ea987f8978d91c1ef189fe4f334511ddf6215 (diff)
downloadpython-coveragepy-git-e38016c499921dd7bf5919a699a76305a1936129.tar.gz
Merged ned/coveragepy into default
Diffstat (limited to 'coverage/cmdline.py')
-rw-r--r--coverage/cmdline.py25
1 files changed, 23 insertions, 2 deletions
diff --git a/coverage/cmdline.py b/coverage/cmdline.py
index 19e0536e..bd10d5a8 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,
@@ -470,6 +470,14 @@ class CoverageScript(object):
total = self.coverage.xml_report(outfile=outfile, **report_args)
if options.fail_under is not None:
+ # Total needs to be rounded, but be careful of 0 and 100.
+ if 0 < total < 1:
+ total = 1
+ elif 99 < total < 100:
+ total = 99
+ else:
+ total = round(total)
+
if total >= options.fail_under:
return OK
else:
@@ -633,6 +641,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':