summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2014-11-23 07:30:07 -0500
committerNed Batchelder <ned@nedbatchelder.com>2014-11-23 07:30:07 -0500
commit737f8ffa024563fb8315f94cdf1484aa7bdb6eaa (patch)
tree4f509ac85244bdb4b251b1134257e0eadb020f62 /coverage
parentdf5b3c800fdf4a2eef373196b1f0a166279a3566 (diff)
parentd0a872c92e0e8c6ebb9530c2b61f2b9582612fb4 (diff)
downloadpython-coveragepy-737f8ffa024563fb8315f94cdf1484aa7bdb6eaa.tar.gz
Merged pull request 43: --skip-covered
Diffstat (limited to 'coverage')
-rw-r--r--coverage/__init__.py4
-rw-r--r--coverage/backunittest.py2
-rw-r--r--coverage/backward.py6
-rw-r--r--coverage/collector.py4
-rw-r--r--coverage/config.py2
-rw-r--r--coverage/control.py14
-rw-r--r--coverage/execfile.py1
-rw-r--r--coverage/misc.py24
-rw-r--r--coverage/parser.py4
-rw-r--r--coverage/plugin.py23
10 files changed, 40 insertions, 44 deletions
diff --git a/coverage/__init__.py b/coverage/__init__.py
index 67dd6e8..3a52c1d 100644
--- a/coverage/__init__.py
+++ b/coverage/__init__.py
@@ -34,9 +34,9 @@ def _singleton_method(name):
called.
"""
- # Disable pylint msg W0612, because a bunch of variables look unused, but
+ # Disable pylint message, because a bunch of variables look unused, but
# they're accessed via locals().
- # pylint: disable=W0612
+ # pylint: disable=unused-variable
def wrapper(*args, **kwargs):
"""Singleton wrapper around a coverage method."""
diff --git a/coverage/backunittest.py b/coverage/backunittest.py
index b2b7ca2..648e74e 100644
--- a/coverage/backunittest.py
+++ b/coverage/backunittest.py
@@ -3,7 +3,7 @@
# Use unittest2 if it's available, otherwise unittest. This gives us
# backported features for 2.6.
try:
- import unittest2 as unittest # pylint: disable=F0401
+ import unittest2 as unittest
except ImportError:
import unittest
diff --git a/coverage/backward.py b/coverage/backward.py
index e839f6b..3372a8b 100644
--- a/coverage/backward.py
+++ b/coverage/backward.py
@@ -2,8 +2,6 @@
# This file does lots of tricky stuff, so disable a bunch of lintisms.
# pylint: disable=redefined-builtin
-# pylint: disable=import-error
-# pylint: disable=no-member
# pylint: disable=unused-import
# pylint: disable=no-name-in-module
@@ -50,7 +48,7 @@ else:
if sys.version_info >= (3, 0):
# Python 3.2 provides `tokenize.open`, the best way to open source files.
import tokenize
- open_python_source = tokenize.open # pylint: disable=E1101
+ open_python_source = tokenize.open
else:
def open_python_source(fname):
"""Open a source file the best way."""
@@ -153,7 +151,7 @@ def import_local_file(modname):
break
with open(modfile, 'r') as f:
- # pylint: disable=W0631
+ # pylint: disable=undefined-loop-variable
# (Using possibly undefined loop variable 'suff')
mod = imp.load_module(modname, f, modfile, suff)
diff --git a/coverage/collector.py b/coverage/collector.py
index 001bc3d..72a7b7f 100644
--- a/coverage/collector.py
+++ b/coverage/collector.py
@@ -7,7 +7,7 @@ from coverage.pytracer import PyTracer
try:
# Use the C extension code when we can, for speed.
- from coverage.tracer import CTracer # pylint: disable=F0401,E0611
+ from coverage.tracer import CTracer # pylint: disable=no-name-in-module
except ImportError:
# Couldn't import the C extension, maybe it isn't built.
if os.getenv('COVERAGE_TEST_TRACER') == 'c':
@@ -24,7 +24,7 @@ except ImportError:
CTracer = None
try:
- import __pypy__ # pylint: disable=import-error
+ import __pypy__
except ImportError:
__pypy__ = None
diff --git a/coverage/config.py b/coverage/config.py
index ac895f7..9598f74 100644
--- a/coverage/config.py
+++ b/coverage/config.py
@@ -7,7 +7,7 @@ from coverage.misc import CoverageException
# In py3, # ConfigParser was renamed to the more-standard configparser
try:
- import configparser # pylint: disable=F0401
+ import configparser
except ImportError:
import ConfigParser as configparser
diff --git a/coverage/control.py b/coverage/control.py
index 79df08d..6ab5b4e 100644
--- a/coverage/control.py
+++ b/coverage/control.py
@@ -9,12 +9,12 @@ from coverage.collector import Collector
from coverage.config import CoverageConfig
from coverage.data import CoverageData
from coverage.debug import DebugControl
-from coverage.plugin import CoveragePlugin, Plugins, overrides
+from coverage.plugin import CoveragePlugin, Plugins
from coverage.files import FileLocator, TreeMatcher, FnmatchMatcher
from coverage.files import PathAliases, find_python_files, prep_patterns
from coverage.html import HtmlReporter
from coverage.misc import CoverageException, bool_or_none, join_regex
-from coverage.misc import file_be_gone
+from coverage.misc import file_be_gone, overrides
from coverage.results import Analysis, Numbers
from coverage.summary import SummaryReporter
from coverage.xmlreport import XmlReporter
@@ -23,7 +23,7 @@ from coverage.xmlreport import XmlReporter
# Pypy has some unusual stuff in the "stdlib". Consider those locations
# when deciding where the stdlib is.
try:
- import _structseq # pylint: disable=F0401
+ import _structseq
except ImportError:
_structseq = None
@@ -731,8 +731,8 @@ class Coverage(object):
return Analysis(self, it)
def report(self, morfs=None, show_missing=True, ignore_errors=None,
- file=None, # pylint: disable=W0622
- omit=None, include=None, skip_covered=False
+ file=None, # pylint: disable=redefined-builtin
+ omit=None, include=None, skip_covered=False,
):
"""Write a summary report to `file`.
@@ -743,15 +743,13 @@ class Coverage(object):
match those patterns will be included in the report. Modules matching
`omit` will not be included in the report.
- `skip_covered` if True report won't print files with 100% coverage.
-
Returns a float, the total percentage covered.
"""
self._harvest_data()
self.config.from_args(
ignore_errors=ignore_errors, omit=omit, include=include,
- show_missing=show_missing, skip_covered=skip_covered
+ show_missing=show_missing, skip_covered=skip_covered,
)
reporter = SummaryReporter(self, self.config)
return reporter.report(morfs, outfile=file)
diff --git a/coverage/execfile.py b/coverage/execfile.py
index 82cc221..e7e2071 100644
--- a/coverage/execfile.py
+++ b/coverage/execfile.py
@@ -14,7 +14,6 @@ if importlib_util_find_spec:
Returns the file path of the module, and the name of the enclosing
package.
"""
- # pylint: disable=no-member
try:
spec = importlib_util_find_spec(modulename)
except ImportError as err:
diff --git a/coverage/misc.py b/coverage/misc.py
index f9a30bc..f0e043b 100644
--- a/coverage/misc.py
+++ b/coverage/misc.py
@@ -4,6 +4,7 @@ import errno
import hashlib
import inspect
import os
+import sys
from coverage.backward import string_class, to_bytes
@@ -135,6 +136,29 @@ class Hasher(object):
return self.md5.hexdigest()
+def overrides(obj, method_name, base_class):
+ """Does `obj` override the `method_name` it got from `base_class`?
+
+ Determine if `obj` implements the method called `method_name`, which it
+ inherited from `base_class`.
+
+ Returns a boolean.
+
+ """
+ klass = obj.__class__
+ klass_func = getattr(klass, method_name)
+ base_func = getattr(base_class, method_name)
+
+ # Python 2/3 compatibility: Python 2 returns an instancemethod object, the
+ # function is the .im_func attribute. Python 3 returns a plain function
+ # object already.
+ if sys.version_info < (3, 0):
+ klass_func = klass_func.im_func
+ base_func = base_func.im_func
+
+ return klass_func is not base_func
+
+
class CoverageException(Exception):
"""An exception specific to Coverage."""
pass
diff --git a/coverage/parser.py b/coverage/parser.py
index e7b9c02..8b9cc1e 100644
--- a/coverage/parser.py
+++ b/coverage/parser.py
@@ -3,7 +3,7 @@
import collections, dis, re, token, tokenize
from coverage.backward import StringIO
-from coverage.backward import range # pylint: disable=W0622
+from coverage.backward import range # pylint: disable=redefined-builtin
from coverage.backward import bytes_to_ints, open_python_source
from coverage.bytecode import ByteCodes, CodeObjects
from coverage.misc import nice_pair, expensive, join_regex
@@ -545,7 +545,7 @@ class ByteParser(object):
chunks.append(chunk)
# Give all the chunks a length.
- chunks[-1].length = bc.next_offset - chunks[-1].byte # pylint: disable=W0631,C0301
+ chunks[-1].length = bc.next_offset - chunks[-1].byte
for i in range(len(chunks)-1):
chunks[i].length = chunks[i+1].byte - chunks[i].byte
diff --git a/coverage/plugin.py b/coverage/plugin.py
index 3d41aab..1e6e235 100644
--- a/coverage/plugin.py
+++ b/coverage/plugin.py
@@ -129,26 +129,3 @@ class Plugins(object):
def get(self, module):
return self.names[module]
-
-
-def overrides(obj, method_name, base_class):
- """Does `obj` override the `method_name` it got from `base_class`?
-
- Determine if `obj` implements the method called `method_name`, which it
- inherited from `base_class`.
-
- Returns a boolean.
-
- """
- klass = obj.__class__
- klass_func = getattr(klass, method_name)
- base_func = getattr(base_class, method_name)
-
- # Python 2/3 compatibility: Python 2 returns an instancemethod object, the
- # function is the .im_func attribute. Python 3 returns a plain function
- # object already.
- if sys.version_info < (3, 0):
- klass_func = klass_func.im_func
- base_func = base_func.im_func
-
- return klass_func is not base_func