summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNed Batchelder <nedbat@gmail.com>2017-01-14 17:18:56 -0500
committerNed Batchelder <nedbat@gmail.com>2017-01-14 17:18:56 -0500
commit38ef0444428ec185373b6165ab86f46831021f4b (patch)
treea391b23f828c1fb38e4765911e6bd945a04a6b4c /tests
parent7e027d161825519af72b41425ee5c676cd49cc34 (diff)
parentdf97ecb1b06192dced1aeeaf3526999c2deafb96 (diff)
downloadpython-coveragepy-git-38ef0444428ec185373b6165ab86f46831021f4b.tar.gz
Merged in dachary/coverage.py/issue-426 (pull request #122)
make --source module do the same as --source directory #426
Diffstat (limited to 'tests')
-rw-r--r--tests/modules/usepkgs.py2
-rw-r--r--tests/test_api.py7
-rw-r--r--tests/test_python.py27
3 files changed, 30 insertions, 6 deletions
diff --git a/tests/modules/usepkgs.py b/tests/modules/usepkgs.py
index 4e94acaa..222e68ce 100644
--- a/tests/modules/usepkgs.py
+++ b/tests/modules/usepkgs.py
@@ -1,7 +1,7 @@
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
-import pkg1.p1a, pkg1.p1b
+import pkg1.p1a, pkg1.p1b, pkg1.sub
import pkg2.p2a, pkg2.p2b
import othermods.othera, othermods.otherb
import othermods.sub.osa, othermods.sub.osb
diff --git a/tests/test_api.py b/tests/test_api.py
index 9de83fb2..c7fa5ca2 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -461,12 +461,11 @@ class SourceOmitIncludeTest(OmitIncludeTestsMixin, CoverageTest):
summary[k[:-3]] = v
return summary
- def test_source_package(self):
- lines = self.coverage_usepkgs(source=["pkg1"])
- self.filenames_in(lines, "p1a p1b")
+ def test_source_package_unexecuted(self):
+ lines = self.coverage_usepkgs(source=["pkg1.sub"])
self.filenames_not_in(lines, "p2a p2b othera otherb osa osb")
# Because source= was specified, we do search for unexecuted files.
- self.assertEqual(lines['p1c'], 0)
+ self.assertEqual(lines['runmod3'], 0)
def test_source_package_dotted(self):
lines = self.coverage_usepkgs(source=["pkg1.p1b"])
diff --git a/tests/test_python.py b/tests/test_python.py
index ee1e1f95..c4e333ef 100644
--- a/tests/test_python.py
+++ b/tests/test_python.py
@@ -5,8 +5,9 @@
import os
import sys
+from coverage import env
-from coverage.python import get_zip_bytes
+from coverage.python import get_zip_bytes, source_for_file
from tests.coveragetest import CoverageTest
@@ -28,3 +29,27 @@ class GetZipBytesTest(CoverageTest):
self.assertIn('All OK', zip_text)
# Run the code to see that we really got it encoded properly.
__import__("encoded_"+encoding)
+
+def test_source_for_file(tmpdir):
+ path = tmpdir.join("a.py")
+ src = str(path)
+ assert src == source_for_file(src)
+ assert src == source_for_file(src + 'c')
+ assert src == source_for_file(src + 'o')
+ unknown = src + 'FOO'
+ assert unknown == source_for_file(unknown)
+ #
+ # On windows if a pyw exists, it is an acceptable source
+ #
+ windows = env.WINDOWS
+ env.WINDOWS = True
+ path_windows = tmpdir.ensure("a.pyw")
+ assert str(path_windows) == source_for_file(src + 'c')
+ #
+ # If both pyw and py exist, py is preferred
+ #
+ path.ensure(file=True)
+ assert src == source_for_file(src + 'c')
+ env.WINDOWS = windows
+ jython_src = "a"
+ assert jython_src + ".py" == source_for_file(jython_src + "$py.class")