@@ -160,44 +160,42 @@ def test_fromfd(self):
160
160
self .fail ("epoll on closed fd didn't raise EBADF" )
161
161
162
162
def test_control_and_wait (self ):
163
+ # create the epoll object
163
164
client , server = self ._connected_pair ()
164
-
165
165
ep = select .epoll (16 )
166
166
ep .register (server .fileno (),
167
167
select .EPOLLIN | select .EPOLLOUT | select .EPOLLET )
168
168
ep .register (client .fileno (),
169
169
select .EPOLLIN | select .EPOLLOUT | select .EPOLLET )
170
170
171
+ # EPOLLOUT
171
172
now = time .monotonic ()
172
173
events = ep .poll (1 , 4 )
173
174
then = time .monotonic ()
174 175
self .assertFalse (then - now > 0.1 , then - now )
175
176
176
- events .sort ()
177
177
expected = [(client .fileno (), select .EPOLLOUT ),
178
178
(server .fileno (), select .EPOLLOUT )]
179
- expected .sort ()
180
-
181
- self .assertEqual (events , expected )
179
+ self .assertEqual (sorted (events ), sorted (expected ))
182
180
183
- events = ep .poll (timeout = 2.1 , maxevents = 4 )
181
+ # no event
182
+ events = ep .poll (timeout = 0.1 , maxevents = 4 )
184
183
self .assertFalse (events )
185
184
186
- client .send (b"Hello!" )
187
- server .send (b"world!!!" )
185
+ # send: EPOLLIN and EPOLLOUT
186
+ client .sendall (b"Hello!" )
187
+ server .sendall (b"world!!!" )
188
188
189
189
now = time .monotonic ()
190
- events = ep .poll (1 , 4 )
190
+ events = ep .poll (1.0 , 4 )
191
191
then = time .monotonic ()
192
192
self .assertFalse (then - now > 0.01 )
193
193
194
- events .sort ()
195
194
expected = [(client .fileno (), select .EPOLLIN | select .EPOLLOUT ),
196
195
(server .fileno (), select .EPOLLIN | select .EPOLLOUT )]
197
- expected .sort ()
198
-
199
- self .assertEqual (events , expected )
196
+ self .assertEqual (sorted (events ), sorted (expected ))
200
197
198
+ # unregister, modify
201
199
ep .unregister (client .fileno ())
202
200
ep .modify (server .fileno (), select .EPOLLOUT )
203
201
now = time .monotonic ()
0 commit comments