(self)
| 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. |
nothing calls this directly
no test coverage detected