Replace catch_warnings with check_warnings when it makes sense. Use assertRaises context manager to simplify some tests.
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index bff88bc..d450eed 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -2,7 +2,6 @@
import sys
import types
import unittest
-import warnings
from copy import deepcopy
from test import test_support
@@ -59,15 +58,6 @@
expr = '%s a' % expr
self.unops[name] = expr
- def setUp(self):
- self.original_filters = warnings.filters[:]
- warnings.filterwarnings("ignore",
- r'complex divmod\(\), // and % are deprecated$',
- DeprecationWarning, r'(<string>|%s)$' % __name__)
-
- def tearDown(self):
- warnings.filters = self.original_filters
-
def unop_test(self, a, res, expr="len(a)", meth="__len__"):
d = {'a': a}
self.assertEqual(eval(expr, d), res)
@@ -4622,11 +4612,15 @@
def test_main():
- with test_support.check_py3k_warnings(
+ deprecations = [(r'complex divmod\(\), // and % are deprecated$',
+ DeprecationWarning)]
+ if sys.py3kwarning:
+ deprecations += [
("classic (int|long) division", DeprecationWarning),
("coerce.. not supported", DeprecationWarning),
("Overriding __cmp__ ", DeprecationWarning),
- (".+__(get|set|del)slice__ has been removed", DeprecationWarning)):
+ (".+__(get|set|del)slice__ has been removed", DeprecationWarning)]
+ with test_support.check_warnings(*deprecations):
# Run all local test cases, with PTypesLongInitTest first.
test_support.run_unittest(PTypesLongInitTest, OperatorsTest,
ClassPropertiesAndMethods, DictProxyTests)