Skip to content

Commit a09e472

Browse files
gh-117535: Change unknown filename of warnings from sys to <sys> (#118018)
1 parent 398abdd commit a09e472

File tree

4 files changed

+7
-6
lines changed

4 files changed

+7
-6
lines changed

Lib/test/test_warnings/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ def test_stacklevel(self):
489489

490490
warning_tests.inner("spam7", stacklevel=9999)
491491
self.assertEqual(os.path.basename(w[-1].filename),
492-
"sys")
492+
"<sys>")
493493

494494
def test_stacklevel_import(self):
495495
# Issue #24305: With stacklevel=2, module-level warnings should work.
@@ -1388,7 +1388,7 @@ def test_late_resource_warning(self):
13881388
# Issue #21925: Emitting a ResourceWarning late during the Python
13891389
# shutdown must be logged.
13901390

1391-
expected = b"sys:1: ResourceWarning: unclosed file "
1391+
expected = b"<sys>:0: ResourceWarning: unclosed file "
13921392

13931393
# don't import the warnings module
13941394
# (_warnings will try to import it)

Lib/warnings.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,8 +332,8 @@ def warn(message, category=None, stacklevel=1, source=None,
332332
raise ValueError
333333
except ValueError:
334334
globals = sys.__dict__
335-
filename = "sys"
336-
lineno = 1
335+
filename = "<sys>"
336+
lineno = 0
337337
else:
338338
globals = frame.f_globals
339339
filename = frame.f_code.co_filename
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Change the unknown filename of :mod:`warnings` from ``sys`` to ``<sys>`` to clarify that it's not a real filename.

Python/_warnings.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -894,8 +894,8 @@ setup_context(Py_ssize_t stack_level,
894894

895895
if (f == NULL) {
896896
globals = interp->sysdict;
897-
*filename = PyUnicode_FromString("sys");
898-
*lineno = 1;
897+
*filename = PyUnicode_FromString("<sys>");
898+
*lineno = 0;
899899
}
900900
else {
901901
globals = f->f_frame->f_globals;

0 commit comments

Comments
 (0)