Add tests for the filename.
Test that the stacklevel is handled correctly.
This commit is contained in:
parent
8bd65000d7
commit
e1a9b42c38
|
@ -3,6 +3,8 @@ import os
|
|||
import unittest
|
||||
from test import test_support
|
||||
|
||||
import warning_tests
|
||||
|
||||
# The warnings module isn't easily tested, because it relies on module
|
||||
# globals to store configuration information. setUp() and tearDown()
|
||||
# preserve the current settings to avoid bashing them while running tests.
|
||||
|
@ -97,6 +99,28 @@ class TestModule(CatchWarningTest):
|
|||
warnings._setoption('error::Warning::0')
|
||||
self.assertRaises(UserWarning, warnings.warn, 'convert to error')
|
||||
|
||||
def test_filename(self):
|
||||
warning_tests.inner("spam1")
|
||||
self.assertEqual(msg.filename, "warning_tests.py")
|
||||
warning_tests.outer("spam2")
|
||||
self.assertEqual(msg.filename, "warning_tests.py")
|
||||
|
||||
def test_stacklevel(self):
|
||||
# Test stacklevel argument
|
||||
# make sure all messages are different, so the warning won't be skipped
|
||||
warning_tests.inner("spam3", stacklevel=1)
|
||||
self.assertEqual(msg.filename, "warning_tests.py")
|
||||
warning_tests.outer("spam4", stacklevel=1)
|
||||
self.assertEqual(msg.filename, "warning_tests.py")
|
||||
|
||||
warning_tests.inner("spam5", stacklevel=2)
|
||||
self.assertEqual(msg.filename, "test_warnings.py")
|
||||
warning_tests.outer("spam6", stacklevel=2)
|
||||
self.assertEqual(msg.filename, "warning_tests.py")
|
||||
|
||||
warning_tests.inner("spam7", stacklevel=9999)
|
||||
self.assertEqual(msg.filename, "sys")
|
||||
|
||||
|
||||
def test_main(verbose=None):
|
||||
# Obscure hack so that this test passes after reloads or repeated calls
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
# Helper module for testing the skipmodules argument of warnings.warn()
|
||||
|
||||
import warnings
|
||||
|
||||
def outer(message, stacklevel=1):
|
||||
inner(message, stacklevel)
|
||||
|
||||
def inner(message, stacklevel=1):
|
||||
warnings.warn(message, stacklevel=stacklevel)
|
Loading…
Reference in New Issue