@@ -1329,12 +1329,23 @@ def test_read_ready_err(self):
13291329 transport = _SelectorDatagramTransport (
13301330 self .loop , self .sock , self .protocol )
13311331
1332- err = self .sock .recvfrom .side_effect = OSError ()
1332+ err = self .sock .recvfrom .side_effect = RuntimeError ()
13331333 transport ._fatal_error = unittest .mock .Mock ()
13341334 transport ._read_ready ()
13351335
13361336 transport ._fatal_error .assert_called_with (err )
13371337
1338+ def test_read_ready_oserr (self ):
1339+ transport = _SelectorDatagramTransport (
1340+ self .loop , self .sock , self .protocol )
1341+
1342+ err = self .sock .recvfrom .side_effect = OSError ()
1343+ transport ._fatal_error = unittest .mock .Mock ()
1344+ transport ._read_ready ()
1345+
1346+ self .assertFalse (transport ._fatal_error .called )
1347+ self .protocol .error_received .assert_called_with (err )
1348+
13381349 def test_sendto (self ):
13391350 data = b'data'
13401351 transport = _SelectorDatagramTransport (
@@ -1380,7 +1391,7 @@ def test_sendto_tryagain(self):
13801391 @unittest .mock .patch ('asyncio.selector_events.logger' )
13811392 def test_sendto_exception (self , m_log ):
13821393 data = b'data'
1383- err = self .sock .sendto .side_effect = OSError ()
1394+ err = self .sock .sendto .side_effect = RuntimeError ()
13841395
13851396 transport = _SelectorDatagramTransport (
13861397 self .loop , self .sock , self .protocol )
@@ -1399,7 +1410,7 @@ def test_sendto_exception(self, m_log):
13991410 transport .sendto (data )
14001411 m_log .warning .assert_called_with ('socket.send() raised exception.' )
14011412
1402- def test_sendto_connection_refused (self ):
1413+ def test_sendto_error_received (self ):
14031414 data = b'data'
14041415
14051416 self .sock .sendto .side_effect = ConnectionRefusedError
@@ -1412,7 +1423,7 @@ def test_sendto_connection_refused(self):
14121423 self .assertEqual (transport ._conn_lost , 0 )
14131424 self .assertFalse (transport ._fatal_error .called )
14141425
1415- def test_sendto_connection_refused_connected (self ):
1426+ def test_sendto_error_received_connected (self ):
14161427 data = b'data'
14171428
14181429 self .sock .send .side_effect = ConnectionRefusedError
@@ -1422,7 +1433,8 @@ def test_sendto_connection_refused_connected(self):
14221433 transport ._fatal_error = unittest .mock .Mock ()
14231434 transport .sendto (data )
14241435
1425- self .assertTrue (transport ._fatal_error .called )
1436+ self .assertFalse (transport ._fatal_error .called )
1437+ self .assertTrue (self .protocol .error_received .called )
14261438
14271439 def test_sendto_str (self ):
14281440 transport = _SelectorDatagramTransport (
@@ -1495,7 +1507,7 @@ def test_sendto_ready_tryagain(self):
14951507 list (transport ._buffer ))
14961508
14971509 def test_sendto_ready_exception (self ):
1498- err = self .sock .sendto .side_effect = OSError ()
1510+ err = self .sock .sendto .side_effect = RuntimeError ()
14991511
15001512 transport = _SelectorDatagramTransport (
15011513 self .loop , self .sock , self .protocol )
@@ -1505,7 +1517,7 @@ def test_sendto_ready_exception(self):
15051517
15061518 transport ._fatal_error .assert_called_with (err )
15071519
1508- def test_sendto_ready_connection_refused (self ):
1520+ def test_sendto_ready_error_received (self ):
15091521 self .sock .sendto .side_effect = ConnectionRefusedError
15101522
15111523 transport = _SelectorDatagramTransport (
@@ -1516,7 +1528,7 @@ def test_sendto_ready_connection_refused(self):
15161528
15171529 self .assertFalse (transport ._fatal_error .called )
15181530
1519- def test_sendto_ready_connection_refused_connection (self ):
1531+ def test_sendto_ready_error_received_connection (self ):
15201532 self .sock .send .side_effect = ConnectionRefusedError
15211533
15221534 transport = _SelectorDatagramTransport (
@@ -1525,15 +1537,16 @@ def test_sendto_ready_connection_refused_connection(self):
15251537 transport ._buffer .append ((b'data' , ()))
15261538 transport ._sendto_ready ()
15271539
1528- self .assertTrue (transport ._fatal_error .called )
1540+ self .assertFalse (transport ._fatal_error .called )
1541+ self .assertTrue (self .protocol .error_received .called )
15291542
15301543 @unittest .mock .patch ('asyncio.log.logger.exception' )
15311544 def test_fatal_error_connected (self , m_exc ):
15321545 transport = _SelectorDatagramTransport (
15331546 self .loop , self .sock , self .protocol , ('0.0.0.0' , 1 ))
15341547 err = ConnectionRefusedError ()
15351548 transport ._fatal_error (err )
1536- self .protocol .connection_refused . assert_called_with ( err )
1549+ self .assertFalse ( self . protocol .error_received . called )
15371550 m_exc .assert_called_with ('Fatal error for %s' , transport )
15381551
15391552
0 commit comments