'Test the specified socket method.
The method is run at most `count` times and must raise a socket.timeout
within `timeout` + self.fuzz seconds.'

def _sock_operation(self, count, timeout, method, *args):

    self.sock.settimeout(timeout)
    method = getattr(self.sock, method)
    for i in range(count):
        t1 = time.time()
        try:
            method(*args)
        except socket.timeout as e:
            delta = (time.time() - t1)
            break
    else:
        self.fail('socket.timeout    was    not    raised')
    self.assertLess(delta, (timeout + self.fuzz))
    self.assertGreater(delta, (timeout - 1.0))
