tests: assume that `raw` attribute is present on original socket file object
It seems like the original socket file object is always an io.BufferedIO
instance. If not, the code will fail and we should try harder to get the socket
object (e.g. if the original socket file object is unbuffered, we can get the
`_sock` attribute directly from it).
--- a/tests/testlib/badserverext.py Tue May 31 02:36:05 2022 +0200
+++ b/tests/testlib/badserverext.py Tue May 31 02:47:22 2022 +0200
@@ -335,12 +335,7 @@
def _close(self):
# We wrap an io.BufferedIO instance.
- orig = object.__getattribute__(self, '_orig')
-
- if hasattr(orig, 'raw'):
- orig.raw._sock.shutdown(socket.SHUT_RDWR)
- else:
- self.close()
+ self.raw._sock.shutdown(socket.SHUT_RDWR)
def read(self, size=-1):
cond = object.__getattribute__(self, '_cond')