@@ -129,6 +129,8 @@ async def start_server():
129
129
130
130
srv_socks = srv .sockets
131
131
self .assertTrue (srv_socks )
132
+ if self .has_start_serving ():
133
+ self .assertTrue (srv .is_serving ())
132
134
133
135
addr = srv_socks [0 ].getsockname ()
134
136
@@ -147,6 +149,9 @@ async def start_server():
147
149
for srv_sock in srv_socks :
148
150
self .assertEqual (srv_sock .fileno (), - 1 )
149
151
152
+ if self .has_start_serving ():
153
+ self .assertFalse (srv .is_serving ())
154
+
150
155
async def start_server_sock ():
151
156
nonlocal CNT
152
157
CNT = 0
@@ -167,6 +172,8 @@ async def start_server_sock():
167
172
168
173
srv_socks = srv .sockets
169
174
self .assertTrue (srv_socks )
175
+ if self .has_start_serving ():
176
+ self .assertTrue (srv .is_serving ())
170
177
171
178
tasks = []
172
179
for _ in range (TOTAL_CNT ):
@@ -183,6 +190,9 @@ async def start_server_sock():
183
190
for srv_sock in srv_socks :
184
191
self .assertEqual (srv_sock .fileno (), - 1 )
185
192
193
+ if self .has_start_serving ():
194
+ self .assertFalse (srv .is_serving ())
195
+
186
196
self .loop .run_until_complete (start_server ())
187
197
self .assertEqual (CNT , TOTAL_CNT )
188
198
@@ -206,6 +216,8 @@ async def start_server_ephemeral_ports():
206
216
207
217
srv_socks = srv .sockets
208
218
self .assertTrue (srv_socks )
219
+ if self .has_start_serving ():
220
+ self .assertTrue (srv .is_serving ())
209
221
210
222
host , port = srv_socks [0 ].getsockname ()
211
223
self .assertNotEqual (0 , port )
@@ -217,6 +229,9 @@ async def start_server_ephemeral_ports():
217
229
for srv_sock in srv_socks :
218
230
self .assertEqual (srv_sock .fileno (), - 1 )
219
231
232
+ if self .has_start_serving ():
233
+ self .assertFalse (srv .is_serving ())
234
+
220
235
self .loop .run_until_complete (start_server_ephemeral_ports ())
221
236
222
237
def test_create_server_4 (self ):
@@ -335,6 +350,60 @@ def test_create_server_8(self):
335
350
self .loop .create_server (
336
351
lambda : None , host = '::' , port = 0 , ssl_handshake_timeout = 10 ))
337
352
353
+ def test_create_server_9 (self ):
354
+ if not self .has_start_serving ():
355
+ raise unittest .SkipTest ()
356
+
357
+ async def handle_client (reader , writer ):
358
+ pass
359
+
360
+ async def start_server ():
361
+ srv = await asyncio .start_server (
362
+ handle_client ,
363
+ '127.0.0.1' , 0 ,
364
+ family = socket .AF_INET ,
365
+ loop = self .loop ,
366
+ start_serving = False )
367
+
368
+ await srv .start_serving ()
369
+ self .assertTrue (srv .is_serving ())
370
+
371
+ # call start_serving again
372
+ await srv .start_serving ()
373
+ self .assertTrue (srv .is_serving ())
374
+
375
+ srv .close ()
376
+ await srv .wait_closed ()
377
+ self .assertFalse (srv .is_serving ())
378
+
379
+ self .loop .run_until_complete (start_server ())
380
+
381
+ def test_create_server_10 (self ):
382
+ if not self .has_start_serving ():
383
+ raise unittest .SkipTest ()
384
+
385
+ async def handle_client (reader , writer ):
386
+ pass
387
+
388
+ async def start_server ():
389
+ srv = await asyncio .start_server (
390
+ handle_client ,
391
+ '127.0.0.1' , 0 ,
392
+ family = socket .AF_INET ,
393
+ loop = self .loop ,
394
+ start_serving = False )
395
+
396
+ fut = asyncio .ensure_future (srv .serve_forever (), loop = self .loop )
397
+ await asyncio .sleep (0 , loop = self .loop )
398
+ self .assertTrue (srv .is_serving ())
399
+
400
+ fut .cancel ()
401
+ with self .assertRaises (asyncio .CancelledError ):
402
+ await fut
403
+ self .assertFalse (srv .is_serving ())
404
+
405
+ self .loop .run_until_complete (start_server ())
406
+
338
407
def test_create_connection_open_con_addr (self ):
339
408
async def client (addr ):
340
409
reader , writer = await asyncio .open_connection (
0 commit comments