MCPcopy Index your code
hub / github.com/python/cpython / test_modify_unregister

Method test_modify_unregister

Lib/test/test_selectors.py:183–208  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

181 self.assertFalse(s.unregister.called)
182
183 def test_modify_unregister(self):
184 # Make sure the fd is unregister()ed in case of error on
185 # modify(): http://bugs.python.org/issue30014
186 if self.SELECTOR.__name__ == 'EpollSelector':
187 patch = unittest.mock.patch(
188 'selectors.EpollSelector._selector_cls')
189 elif self.SELECTOR.__name__ == 'PollSelector':
190 patch = unittest.mock.patch(
191 'selectors.PollSelector._selector_cls')
192 elif self.SELECTOR.__name__ == 'DevpollSelector':
193 patch = unittest.mock.patch(
194 'selectors.DevpollSelector._selector_cls')
195 else:
196 raise self.skipTest("")
197
198 with patch as m:
199 m.return_value.modify = unittest.mock.Mock(
200 side_effect=ZeroDivisionError)
201 s = self.SELECTOR()
202 self.addCleanup(s.close)
203 rd, wr = self.make_socketpair()
204 s.register(rd, selectors.EVENT_READ)
205 self.assertEqual(len(s._map), 1)
206 with self.assertRaises(ZeroDivisionError):
207 s.modify(rd, selectors.EVENT_WRITE)
208 self.assertEqual(len(s._map), 0)
209
210 def test_close(self):
211 s = self.SELECTOR()

Callers

nothing calls this directly

Calls 7

make_socketpairMethod · 0.95
skipTestMethod · 0.80
addCleanupMethod · 0.80
registerMethod · 0.45
assertEqualMethod · 0.45
assertRaisesMethod · 0.45
modifyMethod · 0.45

Tested by

no test coverage detected