summaryrefslogtreecommitdiff
path: root/tests/test_process.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2013-03-10 10:34:06 -0400
committerNed Batchelder <ned@nedbatchelder.com>2013-03-10 10:34:06 -0400
commita76468c859f4a1a2a60d81863ff14b31bc87eaad (patch)
tree73a2776cc35d729afff9ca2c326d071c845e347a /tests/test_process.py
parent41b2f5bb231ce32f1f3c9a5f9bdbe573fcf964eb (diff)
parentd05b0617fad4d7972c6b8a1c671b4a00c37f1208 (diff)
downloadpython-coveragepy-git-a76468c859f4a1a2a60d81863ff14b31bc87eaad.tar.gz
Automated merge with ssh://bitbucket.org/ned/coveragepy
Diffstat (limited to 'tests/test_process.py')
-rw-r--r--tests/test_process.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/test_process.py b/tests/test_process.py
index f3d6c56d..8e31bd18 100644
--- a/tests/test_process.py
+++ b/tests/test_process.py
@@ -430,6 +430,39 @@ class ProcessTest(CoverageTest):
self.assertNotIn("warning", out)
self.assertNotIn("Exception", out)
+ def test_warnings_trace_function_changed_with_threads(self):
+ # https://bitbucket.org/ned/coveragepy/issue/164
+ self.make_file("bug164.py", """\
+ import threading
+ import time
+
+ class MyThread (threading.Thread):
+ def run(self):
+ print("Hello")
+
+ thr = MyThread()
+ thr.start()
+ thr.join()
+ """)
+ out = self.run_command("coverage run --timid bug164.py")
+
+ self.assertIn("Hello\n", out)
+ self.assertNotIn("warning", out)
+
+ def test_warning_trace_function_changed(self):
+ self.make_file("settrace.py", """\
+ import sys
+ print("Hello")
+ sys.settrace(None)
+ print("Goodbye")
+ """)
+ out = self.run_command("coverage run --timid settrace.py")
+ self.assertIn("Hello\n", out)
+ self.assertIn("Goodbye\n", out)
+
+ if hasattr(sys, "gettrace"):
+ self.assertIn("Trace function changed", out)
+
if sys.version_info >= (3, 0): # This only works on 3.x for now.
# It only works with the C tracer,
c_tracer = os.getenv('COVERAGE_TEST_TRACER', 'c') == 'c'