Example #1
0
    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()
Example #2
0
 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)
Example #3
0
 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()