Index: Lib/test/test_socket.py =================================================================== --- Lib/test/test_socket.py (revision 67433) +++ Lib/test/test_socket.py (working copy) @@ -881,6 +881,19 @@ self.cli_file.write(b"B. " + MSG) self.cli_file.flush() + def testMakefileClose(self): + # The file returned by makefile should keep the socket open... + self.cli_conn.close() + msg = self.cli_conn.recv(1024) + self.assertEqual(msg, MSG) + # ...until the file is itself closed + self.serv_file.close() + self.assertRaises(socket.error, self.cli_conn.recv, 1024) + + def _testMakefileClose(self): + self.cli_file.write(MSG) + self.cli_file.flush() + class LineBufferedFileObjectClassTestCase(FileObjectClassTestCase): bufsize = 1 # Default-buffered for reading; line-buffered for writing