(self)
| 143 | s.unregister(wr) |
| 144 | |
| 145 | def test_modify(self): |
| 146 | s = self.SELECTOR() |
| 147 | self.addCleanup(s.close) |
| 148 | |
| 149 | rd, wr = self.make_socketpair() |
| 150 | |
| 151 | key = s.register(rd, selectors.EVENT_READ) |
| 152 | |
| 153 | # modify events |
| 154 | key2 = s.modify(rd, selectors.EVENT_WRITE) |
| 155 | self.assertNotEqual(key.events, key2.events) |
| 156 | self.assertEqual(key2, s.get_key(rd)) |
| 157 | |
| 158 | s.unregister(rd) |
| 159 | |
| 160 | # modify data |
| 161 | d1 = object() |
| 162 | d2 = object() |
| 163 | |
| 164 | key = s.register(rd, selectors.EVENT_READ, d1) |
| 165 | key2 = s.modify(rd, selectors.EVENT_READ, d2) |
| 166 | self.assertEqual(key.events, key2.events) |
| 167 | self.assertNotEqual(key.data, key2.data) |
| 168 | self.assertEqual(key2, s.get_key(rd)) |
| 169 | self.assertEqual(key2.data, d2) |
| 170 | |
| 171 | # modify unknown file obj |
| 172 | self.assertRaises(KeyError, s.modify, 999999, selectors.EVENT_READ) |
| 173 | |
| 174 | # modify use a shortcut |
| 175 | d3 = object() |
| 176 | s.register = unittest.mock.Mock() |
| 177 | s.unregister = unittest.mock.Mock() |
| 178 | |
| 179 | s.modify(rd, selectors.EVENT_READ, d3) |
| 180 | self.assertFalse(s.register.called) |
| 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 |
nothing calls this directly
no test coverage detected