diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py index ac3a1a30da8..b2cd728f687 100644 --- a/Lib/test/test_trace.py +++ b/Lib/test/test_trace.py @@ -1,7 +1,9 @@ import os +import io import sys from test.support import (run_unittest, TESTFN, rmtree, unlink, captured_stdout) +import tempfile import unittest import trace @@ -361,6 +363,49 @@ class Test_Ignore(unittest.TestCase): self.assertTrue(ignore.names(jn('bar', 'baz.py'), 'baz')) +class TestDeprecatedMethods(unittest.TestCase): + + def test_deprecated_usage(self): + sio = io.StringIO() + with self.assertWarns(DeprecationWarning): + trace.usage(sio) + self.assertIn('Usage:', sio.getvalue()) + + def test_deprecated_Ignore(self): + with self.assertWarns(DeprecationWarning): + trace.Ignore() + + def test_deprecated_modname(self): + with self.assertWarns(DeprecationWarning): + self.assertEqual("spam", trace.modname("spam")) + + def test_deprecated_fullmodname(self): + with self.assertWarns(DeprecationWarning): + self.assertEqual("spam", trace.fullmodname("spam")) + + def test_deprecated_find_lines_from_code(self): + with self.assertWarns(DeprecationWarning): + def foo(): + pass + trace.find_lines_from_code(foo.__code__, ["eggs"]) + + def test_deprecated_find_lines(self): + with self.assertWarns(DeprecationWarning): + def foo(): + pass + trace.find_lines(foo.__code__, ["eggs"]) + + def test_deprecated_find_strings(self): + with self.assertWarns(DeprecationWarning): + with tempfile.NamedTemporaryFile() as fd: + trace.find_strings(fd.name) + + def test_deprecated_find_executable_linenos(self): + with self.assertWarns(DeprecationWarning): + with tempfile.NamedTemporaryFile() as fd: + trace.find_executable_linenos(fd.name) + + def test_main(): run_unittest(__name__) diff --git a/Lib/trace.py b/Lib/trace.py index 7eb35ebcb0f..09fe9ee0e48 100644 --- a/Lib/trace.py +++ b/Lib/trace.py @@ -58,6 +58,7 @@ import inspect import gc import dis import pickle +from warnings import warn as _warn try: from time import monotonic as _time except ImportError: diff --git a/Misc/NEWS b/Misc/NEWS index f4ac978f0a1..846c59f8591 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -253,6 +253,9 @@ Core and Builtins Library ------- +- Issue #17143: Fix a missing import in the trace module. Initial patch by + Berker Peksag. + - Issue #15220: email.feedparser's line splitting algorithm is now simpler and faster.