コード例 #1
0
ファイル: test__socket_dns.py プロジェクト: yz90/gevent
 def wait(self, timeout):
     with gevent.Timeout(timeout, False):
         for index in xrange(1000000):
             try:
                 gevent_socket.gethostbyname('www.x%s.com' % index)
             except socket.error:
                 pass
         raise AssertionError('Timeout was not raised')
コード例 #2
0
ファイル: test__event.py プロジェクト: gevent/gevent
 def test(self):
     events = [Event() for _ in xrange(self.N)]
     asyncs = [AsyncResult() for _ in xrange(self.N)]
     max_len = len(events) + len(asyncs)
     sender = gevent.spawn(self._sender, events, asyncs)
     results = gevent.wait(events + asyncs, count=self.count, timeout=self.timeout)
     if self.timeout is None:
         expected_len = max_len
     else:
         expected_len = min(max_len, self.timeout / self.period)
     if self.count is None:
         self.assertTrue(sender.ready(), sender)
     else:
         expected_len = min(self.count, expected_len)
         self.assertFalse(sender.ready(), sender)
         sender.kill()
     self.assertEqual(expected_len, len(results), (expected_len, len(results), results))
コード例 #3
0
    def test_greenlet_link(self):
        lst = []

        # test that links are executed in the same order as they were added
        g = gevent.spawn(lst.append, 0)

        for i in xrange(1, self.count):
            g.link(appender(lst, i))
        g.join()
        self.assertEqual(lst, list(range(self.count)))
コード例 #4
0
 def test(self):
     events = [Event() for _ in xrange(self.N)]
     asyncs = [AsyncResult() for _ in xrange(self.N)]
     max_len = len(events) + len(asyncs)
     sender = gevent.spawn(self._sender, events, asyncs)
     results = gevent.wait(events + asyncs,
                           count=self.count,
                           timeout=self.timeout)
     if self.timeout is None:
         expected_len = max_len
     else:
         expected_len = min(max_len, self.timeout / self.period)
     if self.count is None:
         self.assertTrue(sender.ready(), sender)
     else:
         expected_len = min(self.count, expected_len)
         self.assertFalse(sender.ready(), sender)
         sender.kill()
     self.assertEqual(expected_len, len(results),
                      (expected_len, len(results), results))
コード例 #5
0
ファイル: test__threading_2.py プロジェクト: gevent/gevent
 def test_enumerate_after_join(self):
     # Try hard to trigger #1703448: a thread is still returned in
     # threading.enumerate() after it has been join()ed.
     enum = threading.enumerate
     import warnings
     with warnings.catch_warnings():
         warnings.simplefilter('ignore', DeprecationWarning)
         # get/set checkinterval are deprecated in Python 3
         old_interval = sys.getcheckinterval()
         try:
             for i in xrange(1, 100):
                 # Try a couple times at each thread-switching interval
                 # to get more interleavings.
                 sys.setcheckinterval(i // 5)
                 t = threading.Thread(target=lambda: None)
                 t.start()
                 t.join()
                 l = enum()
                 self.assertFalse(t in l,
                                  "#1703448 triggered after %d trials: %s" % (i, l))
         finally:
             sys.setcheckinterval(old_interval)
コード例 #6
0
 def test_enumerate_after_join(self):
     # Try hard to trigger #1703448: a thread is still returned in
     # threading.enumerate() after it has been join()ed.
     enum = threading.enumerate
     import warnings
     with warnings.catch_warnings():
         warnings.simplefilter('ignore', DeprecationWarning)
         # get/set checkinterval are deprecated in Python 3
         old_interval = sys.getcheckinterval()
         try:
             for i in xrange(1, 100):
                 # Try a couple times at each thread-switching interval
                 # to get more interleavings.
                 sys.setcheckinterval(i // 5)
                 t = threading.Thread(target=lambda: None)
                 t.start()
                 t.join()
                 l = enum()
                 self.assertFalse(t in l,
                                  "#1703448 triggered after %d trials: %s" % (i, l))
         finally:
             sys.setcheckinterval(old_interval)