(self)
| 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() |
nothing calls this directly
no test coverage detected