Exemple #1
0
 def setUp(self):
   if eventloop._EVENT_LOOP_KEY in os.environ:
     del os.environ[eventloop._EVENT_LOOP_KEY]
   if tasklets._CONTEXT_KEY in os.environ:
     del os.environ[tasklets._CONTEXT_KEY]
   self.ev = eventloop.get_event_loop()
   self.log = []
Exemple #2
0
 def setUp(self):
     if eventloop._EVENT_LOOP_KEY in os.environ:
         del os.environ[eventloop._EVENT_LOOP_KEY]
     if tasklets._CONTEXT_KEY in os.environ:
         del os.environ[tasklets._CONTEXT_KEY]
     self.ev = eventloop.get_event_loop()
     self.log = []
Exemple #3
0
 def wait_all(cls, futures):
   # TODO: Flatten MultiRpcs.
   all = set(futures)
   ev = eventloop.get_event_loop()
   while all:
     all = set(f for f in all if f.state == cls.RUNNING)
     ev.run1()
 def testQueueTasklet(self):
   def f(): return 1
   def g(): return 2
   def h(): return 3
   t_before = time.time()
   eventloop.queue_call(1, f, 42, 'hello', a=1, b=2)
   eventloop.queue_call(3, h, c=3, d=4)
   eventloop.queue_call(2, g, 100, 'abc')
   t_after = time.time()
   self.assertEqual(len(self.ev.queue), 3)
   [(t1, f1, a1, k1), (t2, f2, a2, k2), (t3, f3, a3, k3)] = self.ev.queue
   self.assertTrue(t1 < t2)
   self.assertTrue(t2 < t3)
   self.assertTrue(abs(t1 - (t_before + 1)) < t_after - t_before)
   self.assertTrue(abs(t2 - (t_before + 2)) < t_after - t_before)
   self.assertTrue(abs(t3 - (t_before + 3)) < t_after - t_before)
   self.assertEqual(f1, f)
   self.assertEqual(f2, g)
   self.assertEqual(f3, h)
   self.assertEqual(a1, (42, 'hello'))
   self.assertEqual(a2, (100, 'abc'))
   self.assertEqual(a3, ())
   self.assertEqual(k1, {'a': 1, 'b': 2})
   self.assertEqual(k2, {})
   self.assertEqual(k3, {'c': 3, 'd': 4})
   # Delete queued events (they would fail or take a long time).
   ev = eventloop.get_event_loop()
   ev.queue = []
   ev.rpcs = {}
    def testQueueTasklet(self):
        def f():
            return 1

        def g():
            return 2

        def h():
            return 3

        t_before = time.time()
        eventloop.queue_call(1, f, 42, 'hello', a=1, b=2)
        eventloop.queue_call(3, h, c=3, d=4)
        eventloop.queue_call(2, g, 100, 'abc')
        t_after = time.time()
        self.assertEqual(len(self.ev.queue), 3)
        [(t1, f1, a1, k1), (t2, f2, a2, k2), (t3, f3, a3, k3)] = self.ev.queue
        self.assertTrue(t1 < t2)
        self.assertTrue(t2 < t3)
        self.assertTrue(abs(t1 - (t_before + 1)) < t_after - t_before)
        self.assertTrue(abs(t2 - (t_before + 2)) < t_after - t_before)
        self.assertTrue(abs(t3 - (t_before + 3)) < t_after - t_before)
        self.assertEqual(f1, f)
        self.assertEqual(f2, g)
        self.assertEqual(f3, h)
        self.assertEqual(a1, (42, 'hello'))
        self.assertEqual(a2, (100, 'abc'))
        self.assertEqual(a3, ())
        self.assertEqual(k1, {'a': 1, 'b': 2})
        self.assertEqual(k2, {})
        self.assertEqual(k3, {'c': 3, 'd': 4})
        # Delete queued events (they would fail or take a long time).
        ev = eventloop.get_event_loop()
        ev.queue = []
        ev.rpcs = {}
Exemple #6
0
 def wait_any(cls, futures):
   # TODO: Flatten MultiRpcs.
   all = set(futures)
   ev = eventloop.get_event_loop()
   while all:
     for f in all:
       if f.state == cls.FINISHING:
         return f
     ev.run1()
   return None
 def wait(self):
   if self._done:
     return
   ev = eventloop.get_event_loop()
   while not self._done:
     if not ev.run1():
       logging.info('Deadlock in %s', self)
       logging.info('All pending Futures:\n%s', self.dump_all_pending())
       logging_debug('All pending Futures (verbose):\n%s',
                     self.dump_all_pending(verbose=True))
       self.set_exception(RuntimeError('Deadlock waiting for %s' % self))
Exemple #8
0
 def wait(self):
   if self._done:
     return
   ev = eventloop.get_event_loop()
   while not self._done:
     if not ev.run1():
       logging.info('Deadlock in %s', self)
       logging.info('All pending Futures:\n%s', _state.dump_all_pending())
       logging_debug('All pending Futures (verbose):\n%s',
                     _state.dump_all_pending(verbose=True))
       self.set_exception(RuntimeError('Deadlock waiting for %s' % self))
 def tearDown(self):
     """Tear down test framework."""
     ev = eventloop.get_event_loop()
     stragglers = 0
     while ev.run1():
         stragglers += 1
     if stragglers:
         logging.info("Processed %d straggler events after test completed", stragglers)
     self.ResetKindMap()
     self.datastore_stub.Clear()
     self.memcache_stub.MakeSyncCall(
         "memcache", "FlushAll", memcache.MemcacheFlushRequest(), memcache.MemcacheFlushResponse()
     )
Exemple #10
0
 def tearDown(self):
   """Tear down test framework."""
   ev = eventloop.get_event_loop()
   stragglers = 0
   while ev.run1():
     stragglers += 1
   if stragglers:
     logging.info('Processed %d straggler events after test completed',
                  stragglers)
   self.ResetKindMap()
   self.datastore_stub.Clear()
   self.memcache_stub.MakeSyncCall('memcache', 'FlushAll',
                                   memcache.MemcacheFlushRequest(),
                                   memcache.MemcacheFlushResponse())
   for q in self.taskqueue_stub.GetQueues():
     self.taskqueue_stub.FlushQueue(q['name'])
Exemple #11
0
 def tearDown(self):
     """Tear down test framework."""
     ev = eventloop.get_event_loop()
     stragglers = 0
     while ev.run1():
         stragglers += 1
     if stragglers:
         logging.info('Processed %d straggler events after test completed',
                      stragglers)
     self.ResetKindMap()
     self.datastore_stub.Clear()
     self.memcache_stub.MakeSyncCall('memcache', 'FlushAll',
                                     memcache.MemcacheFlushRequest(),
                                     memcache.MemcacheFlushResponse())
     for q in self.taskqueue_stub.GetQueues():
         self.taskqueue_stub.FlushQueue(q['name'])
Exemple #12
0
 def set_up_eventloop(self):
     if eventloop._EVENT_LOOP_KEY in os.environ:
         del os.environ[eventloop._EVENT_LOOP_KEY]
     self.ev = eventloop.get_event_loop()
     self.log = []
 def set_up_eventloop(self):
   if eventloop._EVENT_LOOP_KEY in os.environ:
     del os.environ[eventloop._EVENT_LOOP_KEY]
   self.ev = eventloop.get_event_loop()
   self.log = []
Exemple #14
0
 def setUp(self):
     super(EventLoopTests, self).setUp()
     if eventloop._EVENT_LOOP_KEY in os.environ:
         del os.environ[eventloop._EVENT_LOOP_KEY]
     self.ev = eventloop.get_event_loop()
 def setUp(self):
   super(EventLoopTests, self).setUp()
   if eventloop._EVENT_LOOP_KEY in os.environ:
     del os.environ[eventloop._EVENT_LOOP_KEY]
   self.ev = eventloop.get_event_loop()