コード例 #1
0
    def testClose(self):
        conn, addr = self.serv.accept()
        conn.close()

        sd = self.cli
        read, write, err = select.select([sd], [], [], 1.0)
        self.assertEqual(read, [sd])
        self.assertEqual(sd.recv(1), '')
コード例 #2
0
ファイル: test_full_socket.py プロジェクト: inercia/evy
    def testClose (self):
        conn, addr = self.serv.accept()
        conn.close()

        sd = self.cli
        read, write, err = select.select([sd], [], [], 1.0)
        self.assertEqual(read, [sd])
        self.assertEqual(sd.recv(1), '')
コード例 #3
0
 def testAccept(self):
     # Testing non-blocking accept
     self.serv.setblocking(0)
     try:
         conn, addr = self.serv.accept()
     except socket.error:
         pass
     else:
         self.fail("Error trying to do non-blocking accept.")
     read, write, err = select.select([self.serv], [], [])
     if self.serv in read:
         conn, addr = self.serv.accept()
         conn.close()
     else:
         self.fail("Error trying to do accept after select.")
コード例 #4
0
ファイル: test_full_socket.py プロジェクト: inercia/evy
 def testAccept (self):
     # Testing non-blocking accept
     self.serv.setblocking(0)
     try:
         conn, addr = self.serv.accept()
     except socket.error:
         pass
     else:
         self.fail("Error trying to do non-blocking accept.")
     read, write, err = select.select([self.serv], [], [])
     if self.serv in read:
         conn, addr = self.serv.accept()
         conn.close()
     else:
         self.fail("Error trying to do accept after select.")
コード例 #5
0
 def testRecv(self):
     # Testing non-blocking recv
     conn, addr = self.serv.accept()
     conn.setblocking(0)
     try:
         msg = conn.recv(len(MSG))
     except socket.error:
         pass
     else:
         self.fail("Error trying to do non-blocking recv.")
     read, write, err = select.select([conn], [], [])
     if conn in read:
         msg = conn.recv(len(MSG))
         conn.close()
         self.assertEqual(msg, MSG)
     else:
         self.fail("Error during select call to non-blocking socket.")
コード例 #6
0
ファイル: test_full_socket.py プロジェクト: inercia/evy
 def testRecv (self):
     # Testing non-blocking recv
     conn, addr = self.serv.accept()
     conn.setblocking(0)
     try:
         msg = conn.recv(len(MSG))
     except socket.error:
         pass
     else:
         self.fail("Error trying to do non-blocking recv.")
     read, write, err = select.select([conn], [], [])
     if conn in read:
         msg = conn.recv(len(MSG))
         conn.close()
         self.assertEqual(msg, MSG)
     else:
         self.fail("Error during select call to non-blocking socket.")
コード例 #7
0
def receive (sock, n, timeout = 20):
    r, w, x = select.select([sock], [], [], timeout)
    if sock in r:
        return sock.recv(n)
    else:
        raise RuntimeError, "timed out on %r" % (sock,)