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 = []
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 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))
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() )
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'])
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 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()