diff options
author | Daehee Kim <zsaladinz@gmail.com> | 2024-11-12 12:01:56 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-11-12 12:01:56 (GMT) |
commit | 0ef84b0e2bf511b2cb5268a9ce64d7f2209fb3c4 (patch) | |
tree | 1b1db67d34cdf081955734d872f5d4851ee4796c /Lib/test/test_warnings | |
parent | f223efb2a2d6a3e86556be7295cbbd3ef839f489 (diff) | |
download | cpython-0ef84b0e2bf511b2cb5268a9ce64d7f2209fb3c4.zip cpython-0ef84b0e2bf511b2cb5268a9ce64d7f2209fb3c4.tar.gz cpython-0ef84b0e2bf511b2cb5268a9ce64d7f2209fb3c4.tar.bz2 |
gh-126209: Fix inconsistency of `skip_file_prefixes` in `warnings.warn`'s C and Python implementations (GH-126329)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
Diffstat (limited to 'Lib/test/test_warnings')
-rw-r--r-- | Lib/test/test_warnings/__init__.py | 12 | ||||
-rw-r--r-- | Lib/test/test_warnings/data/stacklevel.py | 10 |
2 files changed, 18 insertions, 4 deletions
diff --git a/Lib/test/test_warnings/__init__.py b/Lib/test/test_warnings/__init__.py index 8b59630..4e3c877 100644 --- a/Lib/test/test_warnings/__init__.py +++ b/Lib/test/test_warnings/__init__.py @@ -533,6 +533,18 @@ class WarnTests(BaseTest): warning_tests.package("prefix02", stacklevel=3) self.assertIn("unittest", w[-1].filename) + def test_skip_file_prefixes_file_path(self): + # see: gh-126209 + with warnings_state(self.module): + skipped = warning_tests.__file__ + with original_warnings.catch_warnings( + record=True, module=self.module, + ) as w: + warning_tests.outer("msg", skip_file_prefixes=(skipped,)) + + self.assertEqual(len(w), 1) + self.assertNotEqual(w[-1].filename, skipped) + def test_skip_file_prefixes_type_errors(self): with warnings_state(self.module): warn = warning_tests.warnings.warn diff --git a/Lib/test/test_warnings/data/stacklevel.py b/Lib/test/test_warnings/data/stacklevel.py index c6dd247..fe36242 100644 --- a/Lib/test/test_warnings/data/stacklevel.py +++ b/Lib/test/test_warnings/data/stacklevel.py @@ -4,11 +4,13 @@ import warnings from test.test_warnings.data import package_helper -def outer(message, stacklevel=1): - inner(message, stacklevel) -def inner(message, stacklevel=1): - warnings.warn(message, stacklevel=stacklevel) +def outer(message, stacklevel=1, skip_file_prefixes=()): + inner(message, stacklevel, skip_file_prefixes) + +def inner(message, stacklevel=1, skip_file_prefixes=()): + warnings.warn(message, stacklevel=stacklevel, + skip_file_prefixes=skip_file_prefixes) def package(message, *, stacklevel): package_helper.inner_api(message, stacklevel=stacklevel, |