summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2016-11-01 10:16:39 -0400
committerNed Batchelder <ned@nedbatchelder.com>2016-11-01 10:16:39 -0400
commiteffc2b282377d077a3c68e8bc0e97630c82fe4fb (patch)
tree611be5ed68e4155a54ac5ec68500918f4b2e491c
parentb1bfcd4c3a1486996dcfc79c40dfa661ee15cebb (diff)
downloadpython-coveragepy-effc2b282377d077a3c68e8bc0e97630c82fe4fb.tar.gz
Optionally use pytest as the test runner
-rw-r--r--.hgignore1
-rw-r--r--igor.py9
-rw-r--r--tests/test_oddball.py3
-rw-r--r--tox.ini1
4 files changed, 11 insertions, 3 deletions
diff --git a/.hgignore b/.hgignore
index ec63472..700b12f 100644
--- a/.hgignore
+++ b/.hgignore
@@ -27,6 +27,7 @@ MANIFEST
setuptools-*.egg
.tox*
.noseids
+.cache
# Stuff in the test directory.
zipmods.zip
diff --git a/igor.py b/igor.py
index 54b8da1..77c97d3 100644
--- a/igor.py
+++ b/igor.py
@@ -102,8 +102,13 @@ def run_tests(tracer, *nose_args):
if 'COVERAGE_TESTING' not in os.environ:
os.environ['COVERAGE_TESTING'] = "True"
print_banner(label_for_tracer(tracer))
- nose_args = ["nosetests"] + list(nose_args)
- nose.core.main(argv=nose_args)
+ if 'COVERAGE_PYTEST' in os.environ:
+ import pytest
+ runner_args = list(nose_args)
+ pytest.main(runner_args)
+ else:
+ nose_args = ["nosetests"] + list(nose_args)
+ nose.core.main(argv=nose_args)
def run_tests_with_coverage(tracer, *nose_args):
diff --git a/tests/test_oddball.py b/tests/test_oddball.py
index 87c65b0..7fc122a 100644
--- a/tests/test_oddball.py
+++ b/tests/test_oddball.py
@@ -353,7 +353,8 @@ class DoctestTest(CoverageTest):
# of coverage will get. Deleting the imported module here is
# enough: when the test imports doctest again, it will get a fresh
# copy without the monkeypatch.
- del sys.modules['doctest']
+ if 'doctest' in sys.modules:
+ del sys.modules['doctest']
def test_doctest(self):
self.check_coverage('''\
diff --git a/tox.ini b/tox.ini
index a8c4827..669f6b3 100644
--- a/tox.ini
+++ b/tox.ini
@@ -10,6 +10,7 @@ usedevelop = True
deps =
# https://requires.io/github/nedbat/coveragepy/requirements/
+ pytest
pip==8.1.2
nose==1.3.7
mock==2.0.0