summaryrefslogtreecommitdiff
path: root/tests/test_process.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2020-01-09 08:52:38 -0500
committerNed Batchelder <ned@nedbatchelder.com>2020-01-11 07:15:04 -0500
commitd10e03c4347198f6f04cf31103cee53cd02f2ee0 (patch)
tree80ba8ebddce524c0230568ce16ee47eb394db87d /tests/test_process.py
parentd197d9cc6fbfd934d3c96629f43e1354e383f5a8 (diff)
downloadpython-coveragepy-git-d10e03c4347198f6f04cf31103cee53cd02f2ee0.tar.gz
A test of running coverage when it has been zipped. #862
Diffstat (limited to 'tests/test_process.py')
-rw-r--r--tests/test_process.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/test_process.py b/tests/test_process.py
index ec6662c2..6ca4571c 100644
--- a/tests/test_process.py
+++ b/tests/test_process.py
@@ -23,7 +23,7 @@ from coverage.data import line_counts
from coverage.files import python_reported_file
from coverage.misc import output_encoding
-from tests.coveragetest import CoverageTest
+from tests.coveragetest import CoverageTest, TESTS_DIR
from tests.helpers import re_lines
@@ -972,6 +972,17 @@ class EnvironmentTest(CoverageTest):
actual = self.run_command("coverage run -m package")
self.assertMultiLineEqual(expected, actual)
+ def test_coverage_zip_is_like_python(self):
+ # Test running coverage from a zip file itself. Some environments
+ # (windows?) zip up the coverage main to be used as the coverage
+ # command.
+ with open(TRY_EXECFILE) as f:
+ self.make_file("run_me.py", f.read())
+ expected = self.run_command("python run_me.py")
+ cov_main = os.path.join(TESTS_DIR, "covmain.zip")
+ actual = self.run_command("python {} run run_me.py".format(cov_main))
+ self.assert_tryexecfile_output(expected, actual)
+
def test_coverage_custom_script(self):
# https://github.com/nedbat/coveragepy/issues/678
# If sys.path[0] isn't the Python default, then coverage.py won't