THRIFT-5813: Close the socket in TSocket.isOpen() when peek() fails
Client: py
diff --git a/lib/py/test/test_socket.py b/lib/py/test/test_socket.py
index ab56a6e..13c1d51 100644
--- a/lib/py/test/test_socket.py
+++ b/lib/py/test/test_socket.py
@@ -67,9 +67,11 @@
             # once the server side closes, it no longer shows open
             acc.client.close()  # this also blocks until the other thread is done
             acc.close()
-            self.assertFalse(sock.isOpen())
 
-            sock.close()
+            self.assertIsNotNone(sock.handle)
+            self.assertFalse(sock.isOpen())
+            # after isOpen() returned False the socket should be closed (THRIFT-5813)
+            self.assertIsNone(sock.handle)
 
 
 if __name__ == "__main__":