@@ -26,10 +26,8 @@ class CreationTestCase(unittest.TestCase):
2626 """Test case for socket.gettimeout() and socket.settimeout()"""
2727
2828 def setUp (self ):
29- self .sock = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
30-
31- def tearDown (self ):
32- self .sock .close ()
29+ self .sock = self .enterContext (
30+ socket .socket (socket .AF_INET , socket .SOCK_STREAM ))
3331
3432 def testObjectCreation (self ):
3533 # Test Socket creation
@@ -113,8 +111,6 @@ class TimeoutTestCase(unittest.TestCase):
113111 def setUp (self ):
114112 raise NotImplementedError ()
115113
116- tearDown = setUp
117-
118114 def _sock_operation (self , count , timeout , method , * args ):
119115 """
120116 Test the specified socket method.
@@ -142,12 +138,10 @@ class TCPTimeoutTestCase(TimeoutTestCase):
142138 """TCP test case for socket.socket() timeout functions"""
143139
144140 def setUp (self ):
145- self .sock = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
141+ self .sock = self .enterContext (
142+ socket .socket (socket .AF_INET , socket .SOCK_STREAM ))
146143 self .addr_remote = resolve_address ('www.python.org.' , 80 )
147144
148- def tearDown (self ):
149- self .sock .close ()
150-
151145 def testConnectTimeout (self ):
152146 # Testing connect timeout is tricky: we need to have IP connectivity
153147 # to a host that silently drops our packets. We can't simulate this
@@ -190,19 +184,16 @@ def testConnectTimeout(self):
190184 # for the current configuration.
191185
192186 skip = True
193- sock = socket .socket (socket .AF_INET , socket .SOCK_STREAM )
194- timeout = support .LOOPBACK_TIMEOUT
195- sock .settimeout (timeout )
196- try :
197- sock .connect ((whitehole ))
198- except TimeoutError :
199- pass
200- except OSError as err :
201- if err .errno == errno .ECONNREFUSED :
202- skip = False
203- finally :
204- sock .close ()
205- del sock
187+ with socket .socket (socket .AF_INET , socket .SOCK_STREAM ) as sock :
188+ try :
189+ timeout = support .LOOPBACK_TIMEOUT
190+ sock .settimeout (timeout )
191+ sock .connect ((whitehole ))
192+ except TimeoutError :
193+ pass
194+ except OSError as err :
195+ if err .errno == errno .ECONNREFUSED :
196+ skip = False
206197
207198 if skip :
208199 self .skipTest (
@@ -269,10 +260,8 @@ class UDPTimeoutTestCase(TimeoutTestCase):
269260 """UDP test case for socket.socket() timeout functions"""
270261
271262 def setUp (self ):
272- self .sock = socket .socket (socket .AF_INET , socket .SOCK_DGRAM )
273-
274- def tearDown (self ):
275- self .sock .close ()
263+ self .sock = self .enterContext (
264+ socket .socket (socket .AF_INET , socket .SOCK_DGRAM ))
276265
277266 def testRecvfromTimeout (self ):
278267 # Test recvfrom() timeout
0 commit comments