def test_stackprotection(self): setup_worker_optimizations(self.app) try: @self.app.task(bind=True) def foo(self, i): if i: return foo(0) return self.request self.assertTrue(foo(1).called_directly) finally: reset_worker_optimizations()
def test_fast_trace_task(self): from celery.task import trace setup_worker_optimizations(self.app) self.assertIs(trace.trace_task_ret, trace._fast_trace_task) try: mytask.__trace__ = build_tracer(mytask.name, mytask, self.app.loader, 'test') res = trace.trace_task_ret(mytask.name, uuid(), [4], {}) self.assertEqual(res, 4 ** 4) finally: reset_worker_optimizations() self.assertIs(trace.trace_task_ret, trace._trace_task_ret) delattr(mytask, '__trace__') res = trace.trace_task_ret(mytask.name, uuid(), [4], {}) self.assertEqual(res, 4 ** 4)
def test_fast_trace_task(self): from celery.task import trace setup_worker_optimizations(self.app) self.assertIs(trace.trace_task_ret, trace._fast_trace_task) try: mytask.__trace__ = build_tracer(mytask.name, mytask, self.app.loader, 'test') res = trace.trace_task_ret(mytask.name, uuid(), [4], {}) self.assertEqual(res, 4 ** 4) finally: reset_worker_optimizations() self.assertIs(trace.trace_task_ret, trace._trace_task_ret) delattr(mytask, '__trace__') res = trace.trace_task_ret(mytask.name, uuid(), [4], {}) self.assertEqual(res, 4 ** 4)
def tearDown(self): super(WorkerAppCase, self).tearDown() trace.reset_worker_optimizations()