Skip to content

Commit dced20c

Browse files
committed
catch the new warning when testing
1 parent 808b4ab commit dced20c

1 file changed

Lines changed: 12 additions & 8 deletions

File tree

Lib/test/test_defaultdict.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import copy
44
import pickle
5+
import sys
56
import unittest
7+
import warnings
68

79
from collections import defaultdict
810

@@ -48,14 +50,16 @@ def test_basic(self):
4850
self.assertRaises(TypeError, defaultdict, 1)
4951

5052
def test_missing(self):
51-
d1 = defaultdict()
52-
self.assertRaises(KeyError, d1.__missing__, 42)
53-
d1.default_factory = list
54-
v1 = d1.__missing__(42)
55-
self.assertEqual(v1, [])
56-
v2 = d1.__missing__(42)
57-
self.assertEqual(v2, [])
58-
self.assertIsNot(v2, v1)
53+
with warnings.catch_warnings(record=True, action='always') as w:
54+
d1 = defaultdict()
55+
self.assertRaises(KeyError, d1.__missing__, 42)
56+
d1.default_factory = list
57+
v1 = d1.__missing__(42)
58+
self.assertEqual(v1, [])
59+
v2 = d1.__missing__(42)
60+
self.assertEqual(v2, [])
61+
self.assertIsNot(v2, v1)
62+
self.assertEqual(len(w), 0 if sys._is_gil_enabled() else 3)
5963

6064
def test_repr(self):
6165
d1 = defaultdict()

0 commit comments

Comments
 (0)