mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	Follow-up of r67300: correct a failure in socket.makefile().
SocketIO objects now always have 'name' and 'mode' attributes.
This commit is contained in:
		
							parent
							
								
									304da21138
								
							
						
					
					
						commit
						9d24ff027f
					
				
					 2 changed files with 16 additions and 5 deletions
				
			
		|  | @ -149,8 +149,6 @@ def makefile(self, mode="r", buffering=None, *, | |||
|         if buffering == 0: | ||||
|             if not binary: | ||||
|                 raise ValueError("unbuffered streams must be binary") | ||||
|             raw.name = self.fileno() | ||||
|             raw.mode = mode | ||||
|             return raw | ||||
|         if reading and writing: | ||||
|             buffer = io.BufferedRWPair(raw, raw, buffering) | ||||
|  | @ -160,11 +158,8 @@ def makefile(self, mode="r", buffering=None, *, | |||
|             assert writing | ||||
|             buffer = io.BufferedWriter(raw, buffering) | ||||
|         if binary: | ||||
|             buffer.name = self.fileno() | ||||
|             buffer.mode = mode | ||||
|             return buffer | ||||
|         text = io.TextIOWrapper(buffer, encoding, newline) | ||||
|         text.name = self.fileno() | ||||
|         text.mode = mode | ||||
|         return text | ||||
| 
 | ||||
|  | @ -230,6 +225,14 @@ def writable(self): | |||
|     def fileno(self): | ||||
|         return self._sock.fileno() | ||||
| 
 | ||||
|     @property | ||||
|     def name(self): | ||||
|         return self._sock.fileno() | ||||
| 
 | ||||
|     @property | ||||
|     def mode(self): | ||||
|         return self._mode | ||||
| 
 | ||||
|     def close(self): | ||||
|         if self.closed: | ||||
|             return | ||||
|  |  | |||
|  | @ -848,6 +848,14 @@ def testClosedAttr(self): | |||
|     def _testClosedAttr(self): | ||||
|         self.assert_(not self.cli_file.closed) | ||||
| 
 | ||||
|     def testAttributes(self): | ||||
|         self.assertEqual(self.serv_file.mode, 'r') | ||||
|         self.assertEqual(self.serv_file.name, self.cli_conn.fileno()) | ||||
| 
 | ||||
|     def _testAttributes(self): | ||||
|         self.assertEqual(self.cli_file.mode, 'w') | ||||
|         self.assertEqual(self.cli_file.name, self.serv_conn.fileno()) | ||||
| 
 | ||||
| class UnbufferedFileObjectClassTestCase(FileObjectClassTestCase): | ||||
| 
 | ||||
|     """Repeat the tests from FileObjectClassTestCase with bufsize==0. | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Amaury Forgeot d'Arc
						Amaury Forgeot d'Arc