diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2018-08-25 07:27:55 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-25 07:27:55 (GMT) |
commit | c406d5cd74002964a64c3eb7d9e2445a7fd3a03f (patch) | |
tree | d762f8be37e446fecb49d58c4148f81d225c2457 | |
parent | 8fdd331bbf7e60dd81c02c7077f44c7939e2a05d (diff) | |
download | cpython-c406d5cd74002964a64c3eb7d9e2445a7fd3a03f.zip cpython-c406d5cd74002964a64c3eb7d9e2445a7fd3a03f.tar.gz cpython-c406d5cd74002964a64c3eb7d9e2445a7fd3a03f.tar.bz2 |
bpo-34171: Prevent creating Lib/trace.cover when run the trace module. (GH-8841)
-rw-r--r-- | Lib/test/test_trace.py | 5 | ||||
-rwxr-xr-x | Lib/trace.py | 14 | ||||
-rw-r--r-- | Misc/NEWS.d/next/Library/2018-08-21-00-29-01.bpo-34171.6LkWav.rst | 1 |
3 files changed, 10 insertions, 10 deletions
diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py index dc9b3fa..3b335ca 100644 --- a/Lib/test/test_trace.py +++ b/Lib/test/test_trace.py @@ -387,6 +387,11 @@ class TestCoverageCommandLineOutput(unittest.TestCase): def test_cover_files_written_no_highlight(self): argv = '-m trace --count'.split() + [self.codefile] status, stdout, stderr = assert_python_ok(*argv) + self.assertEqual(stderr, b'') + tracedir = os.path.dirname(os.path.abspath(trace.__file__)) + tracecoverpath = os.path.join(tracedir, "trace.cover") + self.assertFalse(os.path.exists(tracecoverpath)) + self.assertTrue(os.path.exists(self.coverfile)) with open(self.coverfile) as f: self.assertEqual(f.read(), diff --git a/Lib/trace.py b/Lib/trace.py index 16c3494..86b2101 100755 --- a/Lib/trace.py +++ b/Lib/trace.py @@ -63,14 +63,6 @@ from time import monotonic as _time import threading -def _settrace(func): - threading.settrace(func) - sys.settrace(func) - -def _unsettrace(): - sys.settrace(None) - threading.settrace(None) - PRAGMA_NOCOVER = "#pragma NO COVER" class _Ignore: @@ -451,12 +443,14 @@ class Trace: if globals is None: globals = {} if locals is None: locals = {} if not self.donothing: - _settrace(self.globaltrace) + threading.settrace(self.globaltrace) + sys.settrace(self.globaltrace) try: exec(cmd, globals, locals) finally: if not self.donothing: - _unsettrace() + sys.settrace(None) + threading.settrace(None) def runfunc(self, func, *args, **kw): result = None diff --git a/Misc/NEWS.d/next/Library/2018-08-21-00-29-01.bpo-34171.6LkWav.rst b/Misc/NEWS.d/next/Library/2018-08-21-00-29-01.bpo-34171.6LkWav.rst new file mode 100644 index 0000000..f647b8e --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-08-21-00-29-01.bpo-34171.6LkWav.rst @@ -0,0 +1 @@ +Running the :mod:`trace` module no longer creates the ``trace.cover`` file. |