mercurial/httpclient/tests/util.py
changeset 14376 a75e0f4ba0ab
parent 14341 5c3de67e7402
child 14990 494b26ad8736
equal deleted inserted replaced
14375:436e5379d7ba 14376:a75e0f4ba0ab
    86 
    86 
    87     @property
    87     @property
    88     def ready_for_read(self):
    88     def ready_for_read(self):
    89         return ((self.early_data and http._END_HEADERS in self.sent)
    89         return ((self.early_data and http._END_HEADERS in self.sent)
    90                 or (self.read_wait_sentinel in self.sent and self.data)
    90                 or (self.read_wait_sentinel in self.sent and self.data)
    91                 or self.closed)
    91                 or self.closed or self.remote_closed)
    92 
    92 
    93     def send(self, data):
    93     def send(self, data):
    94         # this is a horrible mock, but nothing needs us to raise the
    94         # this is a horrible mock, but nothing needs us to raise the
    95         # correct exception yet
    95         # correct exception yet
    96         assert not self.closed, 'attempted to write to a closed socket'
    96         assert not self.closed, 'attempted to write to a closed socket'
   114         self._sock = sock
   114         self._sock = sock
   115         self._fail_recv = True
   115         self._fail_recv = True
   116 
   116 
   117     def __getattr__(self, key):
   117     def __getattr__(self, key):
   118         return getattr(self._sock, key)
   118         return getattr(self._sock, key)
       
   119 
       
   120     def __setattr__(self, key, value):
       
   121         if key not in ('_sock', '_fail_recv'):
       
   122             return setattr(self._sock, key, value)
       
   123         return object.__setattr__(self, key, value)
   119 
   124 
   120     def recv(self, amt=-1):
   125     def recv(self, amt=-1):
   121         try:
   126         try:
   122             if self._fail_recv:
   127             if self._fail_recv:
   123                 raise socket.sslerror(socket.SSL_ERROR_WANT_READ)
   128                 raise socket.sslerror(socket.SSL_ERROR_WANT_READ)