summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_warnings.py
diff options
context:
space:
mode:
authorBrett Cannon <bcannon@gmail.com>2006-06-22 16:49:14 (GMT)
committerBrett Cannon <bcannon@gmail.com>2006-06-22 16:49:14 (GMT)
commit53ab5b761d9e6e0f8b06c328508bafdb9a6a25ac (patch)
tree721af8f962a8991f6924e6834c31f2d3c3ba2756 /Lib/test/test_warnings.py
parent56b76c8a65aafc77cbeeb326450186de1898df7f (diff)
downloadcpython-53ab5b761d9e6e0f8b06c328508bafdb9a6a25ac.zip
cpython-53ab5b761d9e6e0f8b06c328508bafdb9a6a25ac.tar.gz
cpython-53ab5b761d9e6e0f8b06c328508bafdb9a6a25ac.tar.bz2
'warning's was improperly requiring that a command-line Warning category be
both a subclass of Warning and a subclass of types.ClassType. The latter is no longer true thanks to new-style exceptions. Closes bug #1510580. Thanks to AMK for the test.
Diffstat (limited to 'Lib/test/test_warnings.py')
-rw-r--r--Lib/test/test_warnings.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/Lib/test/test_warnings.py b/Lib/test/test_warnings.py
index 5d051a5..4663814 100644
--- a/Lib/test/test_warnings.py
+++ b/Lib/test/test_warnings.py
@@ -81,6 +81,19 @@ class TestModule(unittest.TestCase):
self.assertEqual(msg.message, text)
self.assertEqual(msg.category, 'UserWarning')
+ def test_options(self):
+ # Uses the private _setoption() function to test the parsing
+ # of command-line warning arguments
+ self.assertRaises(warnings._OptionError,
+ warnings._setoption, '1:2:3:4:5:6')
+ self.assertRaises(warnings._OptionError,
+ warnings._setoption, 'bogus::Warning')
+ self.assertRaises(warnings._OptionError,
+ warnings._setoption, 'ignore:2::4:-5')
+ warnings._setoption('error::Warning::0')
+ self.assertRaises(UserWarning, warnings.warn, 'convert to error')
+
+
def test_main(verbose=None):
# Obscure hack so that this test passes after reloads or repeated calls
# to test_main (regrtest -R).