@@ -484,8 +484,11 @@ def prepare(self):
484
484
self .run_loop (self .loop .sock_connect (sock , (support .HOST , port )))
485
485
486
486
def cleanup ():
487
- proto .transport .close ()
488
- self .run_loop (proto .wait_closed ())
487
+ if proto .transport is not None :
488
+ # can be None if the task was cancelled before
489
+ # connection_made callback
490
+ proto .transport .close ()
491
+ self .run_loop (proto .wait_closed ())
489
492
490
493
server .close ()
491
494
self .run_loop (server .wait_closed ())
@@ -494,7 +497,7 @@ def cleanup():
494
497
495
498
return sock , proto
496
499
497
- def test_success (self ):
500
+ def test_sock_sendfile_success (self ):
498
501
sock , proto = self .prepare ()
499
502
ret = self .run_loop (self .loop .sock_sendfile (sock , self .file ))
500
503
sock .close ()
@@ -504,7 +507,7 @@ def test_success(self):
504
507
self .assertEqual (proto .data , self .DATA )
505
508
self .assertEqual (self .file .tell (), len (self .DATA ))
506
509
507
- def test_with_offset_and_count (self ):
510
+ def test_sock_sendfile_with_offset_and_count (self ):
508
511
sock , proto = self .prepare ()
509
512
ret = self .run_loop (self .loop .sock_sendfile (sock , self .file ,
510
513
1000 , 2000 ))
@@ -515,7 +518,7 @@ def test_with_offset_and_count(self):
515
518
self .assertEqual (self .file .tell (), 3000 )
516
519
self .assertEqual (ret , 2000 )
517
520
518
- def test_sendfile_not_available (self ):
521
+ def test_sock_sendfile_not_available (self ):
519
522
sock , proto = self .prepare ()
520
523
with mock .patch ('asyncio.unix_events.os' , spec = []):
521
524
with self .assertRaisesRegex (events .SendfileNotAvailableError ,
@@ -524,7 +527,7 @@ def test_sendfile_not_available(self):
524
527
0 , None ))
525
528
self .assertEqual (self .file .tell (), 0 )
526
529
527
- def test_sendfile_not_a_file (self ):
530
+ def test_sock_sendfile_not_a_file (self ):
528
531
sock , proto = self .prepare ()
529
532
f = object ()
530
533
with self .assertRaisesRegex (events .SendfileNotAvailableError ,
@@ -533,7 +536,7 @@ def test_sendfile_not_a_file(self):
533
536
0 , None ))
534
537
self .assertEqual (self .file .tell (), 0 )
535
538
536
- def test_sendfile_iobuffer (self ):
539
+ def test_sock_sendfile_iobuffer (self ):
537
540
sock , proto = self .prepare ()
538
541
f = io .BytesIO ()
539
542
with self .assertRaisesRegex (events .SendfileNotAvailableError ,
@@ -542,7 +545,7 @@ def test_sendfile_iobuffer(self):
542
545
0 , None ))
543
546
self .assertEqual (self .file .tell (), 0 )
544
547
545
- def test_sendfile_not_regular_file (self ):
548
+ def test_sock_sendfile_not_regular_file (self ):
546
549
sock , proto = self .prepare ()
547
550
f = mock .Mock ()
548
551
f .fileno .return_value = - 1
@@ -552,7 +555,7 @@ def test_sendfile_not_regular_file(self):
552
555
0 , None ))
553
556
self .assertEqual (self .file .tell (), 0 )
554
557
555
- def test_sendfile_zero_size (self ):
558
+ def test_sock_sendfile_zero_size (self ):
556
559
sock , proto = self .prepare ()
557
560
fname = support .TESTFN + '.suffix'
558
561
with open (fname , 'wb' ) as f :
@@ -568,7 +571,7 @@ def test_sendfile_zero_size(self):
568
571
self .assertEqual (ret , 0 )
569
572
self .assertEqual (self .file .tell (), 0 )
570
573
571
- def test_mix_sendfile_and_regular_send (self ):
574
+ def test_sock_sendfile_mix_with_regular_send (self ):
572
575
buf = b'1234567890' * 1024 * 1024 # 10 MB
573
576
sock , proto = self .prepare ()
574
577
self .run_loop (self .loop .sock_sendall (sock , buf ))
@@ -582,7 +585,7 @@ def test_mix_sendfile_and_regular_send(self):
582
585
self .assertEqual (proto .data , expected )
583
586
self .assertEqual (self .file .tell (), len (self .DATA ))
584
587
585
- def test_cancel1 (self ):
588
+ def test_sock_sendfile_cancel1 (self ):
586
589
sock , proto = self .prepare ()
587
590
588
591
fut = self .loop .create_future ()
@@ -595,7 +598,7 @@ def test_cancel1(self):
595
598
with self .assertRaises (KeyError ):
596
599
self .loop ._selector .get_key (sock )
597
600
598
- def test_cancel2 (self ):
601
+ def test_sock_sendfile_cancel2 (self ):
599
602
sock , proto = self .prepare ()
600
603
601
604
fut = self .loop .create_future ()
@@ -608,7 +611,7 @@ def test_cancel2(self):
608
611
with self .assertRaises (KeyError ):
609
612
self .loop ._selector .get_key (sock )
610
613
611
- def test_blocking_error (self ):
614
+ def test_sock_sendfile_blocking_error (self ):
612
615
sock , proto = self .prepare ()
613
616
614
617
fileno = self .file .fileno ()
@@ -621,7 +624,7 @@ def test_blocking_error(self):
621
624
self .assertIsNotNone (key )
622
625
fut .add_done_callback .assert_called_once_with (mock .ANY )
623
626
624
- def test_os_error_first_call (self ):
627
+ def test_sock_sendfile_os_error_first_call (self ):
625
628
sock , proto = self .prepare ()
626
629
627
630
fileno = self .file .fileno ()
@@ -635,7 +638,7 @@ def test_os_error_first_call(self):
635
638
self .assertIsInstance (exc , events .SendfileNotAvailableError )
636
639
self .assertEqual (0 , self .file .tell ())
637
640
638
- def test_os_error_next_call (self ):
641
+ def test_sock_sendfile_os_error_next_call (self ):
639
642
sock , proto = self .prepare ()
640
643
641
644
fileno = self .file .fileno ()
@@ -652,7 +655,7 @@ def test_os_error_next_call(self):
652
655
self .assertIs (exc , err )
653
656
self .assertEqual (1000 , self .file .tell ())
654
657
655
- def test_exception (self ):
658
+ def test_sock_sendfile_exception (self ):
656
659
sock , proto = self .prepare ()
657
660
658
661
fileno = self .file .fileno ()
0 commit comments