summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2016-02-07 11:51:02 -0500
committerNed Batchelder <ned@nedbatchelder.com>2016-02-07 11:51:02 -0500
commit66372c8e384e29e7345f9eb535b5e6e4edbe5a03 (patch)
tree1177f0997bb225125dc1d5d7b639999bea632b5c
parentbf3faba61d42d8949215e06a7a374fd7cd633e86 (diff)
downloadpython-coveragepy-git-66372c8e384e29e7345f9eb535b5e6e4edbe5a03.tar.gz
Centralize the no-op-iness of contracts
-rw-r--r--coverage/misc.py4
-rw-r--r--coverage/parser.py9
2 files changed, 8 insertions, 5 deletions
diff --git a/coverage/misc.py b/coverage/misc.py
index db6298b6..90988dfc 100644
--- a/coverage/misc.py
+++ b/coverage/misc.py
@@ -60,6 +60,10 @@ else: # pragma: not covered
"""Dummy no-op implementation of `contract`."""
return lambda func: func
+ def new_contract(*args, **kwargs):
+ """Dummy no-op implementation of `new_contract`."""
+ pass
+
def nice_pair(pair):
"""Make a nice string representation of a pair of numbers.
diff --git a/coverage/parser.py b/coverage/parser.py
index 56ef528e..7a468e39 100644
--- a/coverage/parser.py
+++ b/coverage/parser.py
@@ -14,7 +14,7 @@ from coverage import env
from coverage.backward import range # pylint: disable=redefined-builtin
from coverage.backward import bytes_to_ints, string_class
from coverage.bytecode import CodeObjects
-from coverage.misc import contract, nice_pair, join_regex
+from coverage.misc import contract, new_contract, nice_pair, join_regex
from coverage.misc import CoverageException, NoSource, NotPython
from coverage.phystokens import compile_unicode, generate_tokens, neuter_encoding_declaration
@@ -367,11 +367,10 @@ class ArcStart(collections.namedtuple("Arc", "lineno, cause")):
self = super(ArcStart, cls).__new__(cls, lineno, cause)
return self
-if env.TESTING:
- from contracts import new_contract
- # Define contract words that PyContract doesn't have.
- new_contract('ArcStarts', lambda seq: all(isinstance(x, ArcStart) for x in seq))
+# Define contract words that PyContract doesn't have.
+# ArcStarts is for a list or set of ArcStart's.
+new_contract('ArcStarts', lambda seq: all(isinstance(x, ArcStart) for x in seq))
class AstArcAnalyzer(object):