summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/test_api.py1
-rw-r--r--tests/test_concurrency.py6
-rw-r--r--tests/test_process.py30
3 files changed, 33 insertions, 4 deletions
diff --git a/tests/test_api.py b/tests/test_api.py
index b461c503..7c2672d8 100644
--- a/tests/test_api.py
+++ b/tests/test_api.py
@@ -5,6 +5,7 @@
import fnmatch
import os
+import os.path
import sys
import textwrap
import warnings
diff --git a/tests/test_concurrency.py b/tests/test_concurrency.py
index 71006042..76e1d9e4 100644
--- a/tests/test_concurrency.py
+++ b/tests/test_concurrency.py
@@ -335,7 +335,7 @@ MULTI_CODE = """
import sys
def process_worker_main(args):
- # Need to pause, or the tasks go too quick, and some processes
+ # Need to pause, or the tasks go too quickly, and some processes
# in the pool don't get any work, and then don't record data.
time.sleep(0.02)
ret = work(*args)
@@ -359,7 +359,7 @@ MULTI_CODE = """
"""
-@flaky(max_runs=10) # Sometimes a test fails due to inherent randomness. Try one more time.
+@flaky(max_runs=10) # Sometimes a test fails due to inherent randomness. Try more times.
class MultiprocessingTest(CoverageTest):
"""Test support of the multiprocessing module."""
@@ -403,7 +403,7 @@ class MultiprocessingTest(CoverageTest):
last_line = self.squeezed_lines(out)[-1]
self.assertRegex(last_line, r"multi.py \d+ 0 100%")
- def test_multiprocessing(self):
+ def test_multiprocessing_simple(self):
nprocs = 3
upto = 30
code = (SQUARE_OR_CUBE_WORK + MULTI_CODE).format(NPROCS=nprocs, UPTO=upto)
diff --git a/tests/test_process.py b/tests/test_process.py
index 18564cb8..70329b59 100644
--- a/tests/test_process.py
+++ b/tests/test_process.py
@@ -585,6 +585,30 @@ class ProcessTest(CoverageTest):
self.assertIn("Trace function changed", out)
+ def test_warn_preimported(self):
+ self.make_file("hello.py", """\
+ import goodbye
+ import coverage
+ cov = coverage.Coverage(include=["good*"])
+ cov.start()
+ print(goodbye.f())
+ cov.stop()
+ """)
+ self.make_file("goodbye.py", """\
+ def f():
+ return "Goodbye!"
+ """)
+ goodbye_path = os.path.abspath("goodbye.py")
+
+ out = self.run_command("python hello.py")
+ self.assertIn("Goodbye!", out)
+
+ msg = (
+ "Coverage.py warning: "
+ "Already imported a file that will be measured: {0} "
+ "(already-imported)").format(goodbye_path)
+ self.assertIn(msg, out)
+
def test_note(self):
if env.PYPY and env.PY3 and env.PYPYVERSION[:3] == (5, 10, 0):
# https://bitbucket.org/pypy/pypy/issues/2729/pypy3-510-incorrectly-decodes-astral-plane
@@ -676,9 +700,11 @@ class ProcessTest(CoverageTest):
pass
""")
self.make_file("run_twice.py", """\
+ import sys
import coverage
- for _ in [1, 2]:
+ for i in [1, 2]:
+ sys.stderr.write("Run %s\\n" % i)
inst = coverage.Coverage(source=['foo'])
inst.load()
inst.start()
@@ -689,6 +715,8 @@ class ProcessTest(CoverageTest):
out = self.run_command("python run_twice.py")
self.assertEqual(
out,
+ "Run 1\n"
+ "Run 2\n"
"Coverage.py warning: Module foo was previously imported, but not measured "
"(module-not-measured)\n"
)