summaryrefslogtreecommitdiff
path: root/coverage
diff options
context:
space:
mode:
Diffstat (limited to 'coverage')
-rw-r--r--coverage/env.py5
-rw-r--r--coverage/inorout.py9
-rw-r--r--coverage/misc.py7
3 files changed, 11 insertions, 10 deletions
diff --git a/coverage/env.py b/coverage/env.py
index 68da83dd..a01bb816 100644
--- a/coverage/env.py
+++ b/coverage/env.py
@@ -124,3 +124,8 @@ METACOV = os.getenv('COVERAGE_COVERAGE', '') != ''
# Even when running tests, you can use COVERAGE_TESTING=0 to disable the
# test-specific behavior like contracts.
TESTING = os.getenv('COVERAGE_TESTING', '') == 'True'
+
+# Environment COVERAGE_NO_CONTRACTS=1 can turn off contracts while debugging
+# tests to remove noise from stack traces.
+# $set_env.py: COVERAGE_NO_CONTRACTS - Disable PyContracts to simplify stack traces.
+USE_CONTRACTS = TESTING and not bool(int(os.environ.get("COVERAGE_NO_CONTRACTS", 0)))
diff --git a/coverage/inorout.py b/coverage/inorout.py
index 8badf4f7..174a19dc 100644
--- a/coverage/inorout.py
+++ b/coverage/inorout.py
@@ -180,10 +180,11 @@ def add_coverage_paths(paths):
# When testing, we use PyContracts, which should be considered
# part of coverage.py, and it uses six. Exclude those directories
# just as we exclude ourselves.
- import contracts
- import six
- for mod in [contracts, six]:
- paths.add(canonical_path(mod))
+ if env.USE_CONTRACTS:
+ import contracts
+ import six
+ for mod in [contracts, six]:
+ paths.add(canonical_path(mod))
class InOrOut:
diff --git a/coverage/misc.py b/coverage/misc.py
index 40f00930..584efeaa 100644
--- a/coverage/misc.py
+++ b/coverage/misc.py
@@ -100,14 +100,9 @@ def dummy_decorator_with_args(*args_unused, **kwargs_unused):
return _decorator
-# Environment COVERAGE_NO_CONTRACTS=1 can turn off contracts while debugging
-# tests to remove noise from stack traces.
-# $set_env.py: COVERAGE_NO_CONTRACTS - Disable PyContracts to simplify stack traces.
-USE_CONTRACTS = env.TESTING and not bool(int(os.environ.get("COVERAGE_NO_CONTRACTS", 0)))
-
# Use PyContracts for assertion testing on parameters and returns, but only if
# we are running our own test suite.
-if USE_CONTRACTS:
+if env.USE_CONTRACTS:
from contracts import contract # pylint: disable=unused-import
from contracts import new_contract as raw_new_contract