MCPcopy Create free account
hub / github.com/python/cpython / test_stacklevel

Method test_stacklevel

Lib/test/test_warnings/__init__.py:595–619  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

593 "stacklevel.py")
594
595 def test_stacklevel(self):
596 # Test stacklevel argument
597 # make sure all messages are different, so the warning won't be skipped
598 with warnings_state(self.module):
599 with self.module.catch_warnings(record=True) as w:
600 warning_tests.inner("spam3", stacklevel=1)
601 self.assertEqual(os.path.basename(w[-1].filename),
602 "stacklevel.py")
603 warning_tests.outer("spam4", stacklevel=1)
604 self.assertEqual(os.path.basename(w[-1].filename),
605 "stacklevel.py")
606
607 warning_tests.inner("spam5", stacklevel=2)
608 self.assertEqual(os.path.basename(w[-1].filename),
609 "__init__.py")
610 warning_tests.outer("spam6", stacklevel=2)
611 self.assertEqual(os.path.basename(w[-1].filename),
612 "stacklevel.py")
613 warning_tests.outer("spam6.5", stacklevel=3)
614 self.assertEqual(os.path.basename(w[-1].filename),
615 "__init__.py")
616
617 warning_tests.inner("spam7", stacklevel=9999)
618 self.assertEqual(os.path.basename(w[-1].filename),
619 "<sys>")
620
621 def test_stacklevel_import(self):
622 # Issue #24305: With stacklevel=2, module-level warnings should work.

Callers

nothing calls this directly

Calls 5

warnings_stateFunction · 0.85
innerMethod · 0.45
assertEqualMethod · 0.45
basenameMethod · 0.45
outerMethod · 0.45

Tested by

no test coverage detected