コード例 #1
0
 def connect_ftp(self, user, passwd, host, port, dirs):
     key = user, host, port, '/'.join(dirs)
     if key in self.cache:
         self.timeout[key] = time.time() + self.delay
     else:
         self.cache[key] = ftpwrapper(user, passwd, host, port, dirs)
         self.timeout[key] = time.time() + self.delay
     self.check_cache()
     return self.cache[key]
コード例 #2
0
 def testSetBlocking(self):
     # Testing whether set blocking works
     self.serv.setblocking(0)
     start = time.time()
     try:
         self.serv.accept()
     except socket.error:
         pass
     end = time.time()
     self.assert_((end - start) < 1.0, "Error setting non-blocking mode.")
コード例 #3
0
ファイル: urllib.py プロジェクト: AGProjects/python-eventlib
def test1():
    s = ''
    for i in range(256): s = s + chr(i)
    s = s*4
    t0 = time.time()
    qs = quote(s)
    uqs = unquote(qs)
    t1 = time.time()
    if uqs != s:
        print 'Wrong!'
    print repr(s)
    print repr(qs)
    print repr(uqs)
    print round(t1 - t0, 3), 'sec'
コード例 #4
0
def test1():
    s = ''
    for i in range(256):
        s = s + chr(i)
    s = s * 4
    t0 = time.time()
    qs = quote(s)
    uqs = unquote(qs)
    t1 = time.time()
    if uqs != s:
        print('Wrong!')
    print(repr(s))
    print(repr(qs))
    print(repr(uqs))
    print(round(t1 - t0, 3), 'sec')
コード例 #5
0
    def testRecvTimeout(self):
        # Test recv() timeout
        _timeout = 0.02
        self.sock.connect(self.addr_remote)
        self.sock.settimeout(_timeout)

        _t1 = time.time()
        self.failUnlessRaises(socket.error, self.sock.recv, 1024)
        _t2 = time.time()

        _delta = abs(_t1 - _t2)
        self.assert_(
            _delta < _timeout + self.fuzz,
            "timeout (%g) is %g seconds more than expected (%g)" %
            (_delta, self.fuzz, _timeout))
コード例 #6
0
    def testRecvfromTimeout(self):
        # Test recvfrom() timeout
        _timeout = 2
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        self.sock.settimeout(_timeout)
        self.sock.bind(self.addr_local)

        _t1 = time.time()
        self.failUnlessRaises(socket.error, self.sock.recvfrom, 8192)
        _t2 = time.time()

        _delta = abs(_t1 - _t2)
        self.assert_(
            _delta < _timeout + self.fuzz,
            "timeout (%g) is %g seconds more than expected (%g)" %
            (_delta, self.fuzz, _timeout))
コード例 #7
0
    def testAcceptTimeout(self):
        # Test accept() timeout
        _timeout = 2
        self.sock.settimeout(_timeout)
        self.sock.bind(self.addr_local)
        self.sock.listen(5)

        _t1 = time.time()
        self.failUnlessRaises(socket.error, self.sock.accept)
        _t2 = time.time()

        _delta = abs(_t1 - _t2)
        self.assert_(
            _delta < _timeout + self.fuzz,
            "timeout (%g) is %g seconds more than expected (%g)" %
            (_delta, self.fuzz, _timeout))
コード例 #8
0
    def testConnectTimeout(self):
        # Test connect() timeout
        _timeout = 0.001
        self.sock.settimeout(_timeout)

        # If we are too close to www.python.org, this test will fail.
        # Pick a host that should be farther away.
        if (socket.getfqdn().split('.')[-2:] == ['python', 'org']
                or socket.getfqdn().split('.')[-2:-1] == ['xs4all']):
            self.addr_remote = ('tut.fi', 80)

        _t1 = time.time()
        self.assertRaises(socket.error, self.sock.connect, self.addr_remote)
        _t2 = time.time()

        _delta = abs(_t1 - _t2)
        self.assertTrue(
            _delta < _timeout + self.fuzz,
            "timeout (%g) is more than %g seconds more than expected (%g)" %
            (_delta, self.fuzz, _timeout))
コード例 #9
0
    def check_cache(self):
        # first check for old ones
        t = time.time()
        if self.soonest <= t:
            for k, v in self.timeout.items():
                if v < t:
                    self.cache[k].close()
                    del self.cache[k]
                    del self.timeout[k]
        self.soonest = min(self.timeout.values())

        # then check the size
        if len(self.cache) == self.max_conns:
            for k, v in self.timeout.items():
                if v == self.soonest:
                    del self.cache[k]
                    del self.timeout[k]
                    break
            self.soonest = min(self.timeout.values())