|
|
|
@ -92,6 +92,16 @@ class FilterTests(BaseTest): |
|
|
|
self.assertRaises(UserWarning, self.module.warn, |
|
|
|
"FilterTests.test_error") |
|
|
|
|
|
|
|
def test_error_after_default(self): |
|
|
|
with original_warnings.catch_warnings(module=self.module) as w: |
|
|
|
self.module.resetwarnings() |
|
|
|
message = "FilterTests.test_ignore_after_default" |
|
|
|
def f(): |
|
|
|
self.module.warn(message, UserWarning) |
|
|
|
f() |
|
|
|
self.module.filterwarnings("error", category=UserWarning) |
|
|
|
self.assertRaises(UserWarning, f) |
|
|
|
|
|
|
|
def test_ignore(self): |
|
|
|
with original_warnings.catch_warnings(record=True, |
|
|
|
module=self.module) as w: |
|
|
|
@ -100,6 +110,19 @@ class FilterTests(BaseTest): |
|
|
|
self.module.warn("FilterTests.test_ignore", UserWarning) |
|
|
|
self.assertEqual(len(w), 0) |
|
|
|
|
|
|
|
def test_ignore_after_default(self): |
|
|
|
with original_warnings.catch_warnings(record=True, |
|
|
|
module=self.module) as w: |
|
|
|
self.module.resetwarnings() |
|
|
|
message = "FilterTests.test_ignore_after_default" |
|
|
|
def f(): |
|
|
|
self.module.warn(message, UserWarning) |
|
|
|
f() |
|
|
|
self.module.filterwarnings("ignore", category=UserWarning) |
|
|
|
f() |
|
|
|
f() |
|
|
|
self.assertEqual(len(w), 1) |
|
|
|
|
|
|
|
def test_always(self): |
|
|
|
with original_warnings.catch_warnings(record=True, |
|
|
|
module=self.module) as w: |
|
|
|
@ -111,6 +134,26 @@ class FilterTests(BaseTest): |
|
|
|
self.module.warn(message, UserWarning) |
|
|
|
self.assertTrue(w[-1].message, message) |
|
|
|
|
|
|
|
def test_always_after_default(self): |
|
|
|
with original_warnings.catch_warnings(record=True, |
|
|
|
module=self.module) as w: |
|
|
|
self.module.resetwarnings() |
|
|
|
message = "FilterTests.test_always_after_ignore" |
|
|
|
def f(): |
|
|
|
self.module.warn(message, UserWarning) |
|
|
|
f() |
|
|
|
self.assertEqual(len(w), 1) |
|
|
|
self.assertEqual(w[-1].message.args[0], message) |
|
|
|
f() |
|
|
|
self.assertEqual(len(w), 1) |
|
|
|
self.module.filterwarnings("always", category=UserWarning) |
|
|
|
f() |
|
|
|
self.assertEqual(len(w), 2) |
|
|
|
self.assertEqual(w[-1].message.args[0], message) |
|
|
|
f() |
|
|
|
self.assertEqual(len(w), 3) |
|
|
|
self.assertEqual(w[-1].message.args[0], message) |
|
|
|
|
|
|
|
def test_default(self): |
|
|
|
with original_warnings.catch_warnings(record=True, |
|
|
|
module=self.module) as w: |
|
|
|
@ -506,7 +549,9 @@ class _WarningsTests(BaseTest, unittest.TestCase): |
|
|
|
registry=registry) |
|
|
|
self.assertEqual(w[-1].message, message) |
|
|
|
self.assertEqual(len(w), 1) |
|
|
|
self.assertEqual(len(registry), 1) |
|
|
|
# One actual registry key plus the "version" key |
|
|
|
self.assertEqual(len(registry), 2) |
|
|
|
self.assertIn("version", registry) |
|
|
|
del w[:] |
|
|
|
# Test removal. |
|
|
|
del self.module.defaultaction |
|
|
|
@ -516,7 +561,7 @@ class _WarningsTests(BaseTest, unittest.TestCase): |
|
|
|
registry=registry) |
|
|
|
self.assertEqual(w[-1].message, message) |
|
|
|
self.assertEqual(len(w), 1) |
|
|
|
self.assertEqual(len(registry), 1) |
|
|
|
self.assertEqual(len(registry), 2) |
|
|
|
del w[:] |
|
|
|
# Test setting. |
|
|
|
self.module.defaultaction = "ignore" |
|
|
|
|