summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
Diffstat (limited to 'coverage')
-rw-r--r--coverage/__init__.py5
-rw-r--r--coverage/cmdline.py5
-rw-r--r--coverage/debug.py12
-rw-r--r--coverage/misc.py9
-rw-r--r--coverage/results.py4
-rw-r--r--coverage/sqldata.py6
6 files changed, 20 insertions, 21 deletions
diff --git a/coverage/__init__.py b/coverage/__init__.py
index 5edb7524..331b304b 100644
--- a/coverage/__init__.py
+++ b/coverage/__init__.py
@@ -8,6 +8,8 @@ https://nedbatchelder.com/code/coverage
"""
+import sys
+
from coverage.version import __version__, __url__, version_info
from coverage.control import Coverage, process_startup
@@ -22,13 +24,12 @@ coverage = Coverage
# On Windows, we encode and decode deep enough that something goes wrong and
# the encodings.utf_8 module is loaded and then unloaded, I don't know why.
# Adding a reference here prevents it from being unloaded. Yuk.
-import encodings.utf_8
+import encodings.utf_8 # pylint: disable=wrong-import-position, wrong-import-order
# Because of the "from coverage.control import fooey" lines at the top of the
# file, there's an entry for coverage.coverage in sys.modules, mapped to None.
# This makes some inspection tools (like pydoc) unable to find the class
# coverage.coverage. So remove that entry.
-import sys
try:
del sys.modules['coverage.coverage']
except KeyError:
diff --git a/coverage/cmdline.py b/coverage/cmdline.py
index 99b155b2..7137852d 100644
--- a/coverage/cmdline.py
+++ b/coverage/cmdline.py
@@ -621,7 +621,7 @@ class CoverageScript(object):
# they will be None if they have not been specified.
if getattr(options, opt_name) is not None:
self.help_fn(
- "Options affecting multiprocessing must be specified "
+ "Options affecting multiprocessing must only be specified "
"in a configuration file."
)
return ERR
@@ -636,8 +636,7 @@ class CoverageScript(object):
if options.module:
self.run_python_module(args[0], args)
else:
- filename = args[0]
- self.run_python_file(filename, args)
+ self.run_python_file(args[0], args)
except NoSource:
code_ran = False
raise
diff --git a/coverage/debug.py b/coverage/debug.py
index 7cbda792..9077a3af 100644
--- a/coverage/debug.py
+++ b/coverage/debug.py
@@ -29,7 +29,7 @@ FORCED_DEBUG = []
class DebugControl(object):
"""Control and output for debugging."""
- show_repr_attr = False # For SimpleRepr
+ show_repr_attr = False # For SimpleReprMixin
def __init__(self, options, output):
"""Configure the options and output file for debugging."""
@@ -171,7 +171,7 @@ def add_pid_and_tid(text):
return text
-class SimpleRepr(object):
+class SimpleReprMixin(object):
"""A mixin implementing a simple __repr__."""
def __repr__(self):
show_attrs = (
@@ -303,12 +303,12 @@ def decorate_methods(decorator, butnot=()): # pragma: debugging
def break_in_pudb(func): # pragma: debugging
"""A function decorator to stop in the debugger for each call."""
@functools.wraps(func)
- def wrapper(*args, **kwargs):
+ def _wrapper(*args, **kwargs):
import pudb # pylint: disable=import-error
sys.stdout = sys.__stdout__
pudb.set_trace()
return func(*args, **kwargs)
- return wrapper
+ return _wrapper
OBJ_IDS = itertools.count()
@@ -319,7 +319,7 @@ def show_calls(show_args=True, show_stack=False): # pragma: debugging
"""A method decorator to debug-log each call to the function."""
def _decorator(func):
@functools.wraps(func)
- def wrapper(self, *args, **kwargs):
+ def _wrapper(self, *args, **kwargs):
oid = getattr(self, OBJ_ID_ATTR, None)
if oid is None:
oid = "{:08d} {:04d}".format(os.getpid(), next(OBJ_IDS))
@@ -340,7 +340,7 @@ def show_calls(show_args=True, show_stack=False): # pragma: debugging
msg = "{} {:04d} {}{}\n".format(oid, next(CALLS), func.__name__, extra)
DebugOutputFile.get_one().write(msg)
return func(self, *args, **kwargs)
- return wrapper
+ return _wrapper
return _decorator
diff --git a/coverage/misc.py b/coverage/misc.py
index 7b8fbb93..a923829d 100644
--- a/coverage/misc.py
+++ b/coverage/misc.py
@@ -70,11 +70,11 @@ if env.TESTING:
"""Ensure that only one of the argnames is non-None."""
def _decorator(func):
argnameset = set(name.strip() for name in argnames.split(","))
- def _wrapped(*args, **kwargs):
+ def _wrapper(*args, **kwargs):
vals = [kwargs.get(name) for name in argnameset]
assert sum(val is not None for val in vals) == 1
return func(*args, **kwargs)
- return _wrapped
+ return _wrapper
return _decorator
else: # pragma: not testing
# We aren't using real PyContracts, so just define our decorators as
@@ -149,13 +149,12 @@ def expensive(fn):
if env.TESTING:
attr = "_once_" + fn.__name__
- def _wrapped(self):
- """Inner function that checks the cache."""
+ def _wrapper(self):
if hasattr(self, attr):
raise AssertionError("Shouldn't have called %s more than once" % fn.__name__)
setattr(self, attr, True)
return fn(self)
- return _wrapped
+ return _wrapper
else:
return fn # pragma: not testing
diff --git a/coverage/results.py b/coverage/results.py
index fb919c9b..cab8796e 100644
--- a/coverage/results.py
+++ b/coverage/results.py
@@ -6,7 +6,7 @@
import collections
from coverage.backward import iitems
-from coverage.debug import SimpleRepr
+from coverage.debug import SimpleReprMixin
from coverage.misc import contract, format_lines
@@ -158,7 +158,7 @@ class Analysis(object):
return stats
-class Numbers(SimpleRepr):
+class Numbers(SimpleReprMixin):
"""The numerical results of measuring coverage.
This holds the basic statistics from `Analysis`, and is used to roll
diff --git a/coverage/sqldata.py b/coverage/sqldata.py
index e644ec16..fb2279c9 100644
--- a/coverage/sqldata.py
+++ b/coverage/sqldata.py
@@ -18,7 +18,7 @@ import sqlite3
from coverage.backward import iitems
from coverage.data import filename_suffix
-from coverage.debug import SimpleRepr
+from coverage.debug import SimpleReprMixin
from coverage.files import PathAliases
from coverage.misc import CoverageException, file_be_gone
@@ -73,7 +73,7 @@ create table tracer (
"""
-class CoverageSqliteData(SimpleRepr):
+class CoverageSqliteData(SimpleReprMixin):
def __init__(self, basename=None, suffix=None, warn=None, debug=None):
self._basename = os.path.abspath(basename or ".coverage")
self._suffix = suffix
@@ -474,7 +474,7 @@ class CoverageSqliteData(SimpleRepr):
return [] # TODO
-class Sqlite(SimpleRepr):
+class Sqlite(SimpleReprMixin):
def __init__(self, filename, debug):
self.debug = debug if (debug and debug.should('sql')) else None
if self.debug: