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

Method test_modify

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

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 10

make_socketpairMethod · 0.95
addCleanupMethod · 0.80
assertNotEqualMethod · 0.80
get_keyMethod · 0.80
assertFalseMethod · 0.80
registerMethod · 0.45
modifyMethod · 0.45
assertEqualMethod · 0.45
unregisterMethod · 0.45
assertRaisesMethod · 0.45

Tested by

no test coverage detected