Example #1
0
 def with_catch_warnings(log):
     res = execute_and_trace(mytask.name, gen_unique_id(),
                             [4], {})
     self.assertIsInstance(res, ExceptionInfo)
     self.assertTrue(log)
     self.assertIn("Exception outside", log[0].message.args[0])
     self.assertIn("KeyError", log[0].message.args[0])
Example #2
0
 def with_catch_warnings(log):
     res = execute_and_trace(mytask.name, gen_unique_id(),
                             [4], {})
     self.assertIsInstance(res, ExceptionInfo)
     self.assertTrue(log)
     self.assertIn("Exception outside", log[0].message.args[0])
     self.assertIn("KeyError", log[0].message.args[0])
Example #3
0
    def test_execute_safe_catches_exception(self):
        def _error_exec(self, *args, **kwargs):
            raise KeyError("baz")

        @task_dec
        def raising():
            raise KeyError("baz")

        raising.request = None

        with self.assertWarnsRegex(RuntimeWarning, r"Exception raised outside"):
            res = execute_and_trace(raising.name, uuid(), [], {})
            self.assertIsInstance(res, ExceptionInfo)
Example #4
0
    def test_execute_safe_catches_exception(self):
        def _error_exec(self, *args, **kwargs):
            raise KeyError("baz")

        @task_dec
        def raising():
            raise KeyError("baz")

        raising.request = None

        with self.assertWarnsRegex(RuntimeWarning,
                                   r'Exception raised outside'):
            res = execute_and_trace(raising.name, uuid(), [], {})
            self.assertIsInstance(res, ExceptionInfo)
Example #5
0
    def test_execute_safe_catches_exception(self):
        old_exec = WorkerTaskTrace.execute

        def _error_exec(self, *args, **kwargs):
            raise KeyError("baz")

        WorkerTaskTrace.execute = _error_exec
        try:
            with catch_warnings(record=True) as log:
                res = execute_and_trace(mytask.name, uuid(), [4], {})
                self.assertIsInstance(res, ExceptionInfo)
                self.assertTrue(log)
                self.assertIn("Exception outside", log[0].message.args[0])
                self.assertIn("KeyError", log[0].message.args[0])
        finally:
            WorkerTaskTrace.execute = old_exec
Example #6
0
    def test_execute_safe_catches_exception(self):
        old_exec = WorkerTaskTrace.execute

        def _error_exec(self, *args, **kwargs):
            raise KeyError("baz")

        WorkerTaskTrace.execute = _error_exec
        try:
            with catch_warnings(record=True) as log:
                res = execute_and_trace(mytask.name, uuid(),
                                        [4], {})
                self.assertIsInstance(res, ExceptionInfo)
                self.assertTrue(log)
                self.assertIn("Exception outside", log[0].message.args[0])
                self.assertIn("KeyError", log[0].message.args[0])
        finally:
            WorkerTaskTrace.execute = old_exec
Example #7
0
    def test_execute_safe_catches_exception(self):
        warnings.resetwarnings()

        def _error_exec(self, *args, **kwargs):
            raise KeyError("baz")

        @task_dec
        def raising():
            raise KeyError("baz")
        raising.request = None

        with catch_warnings(record=True) as log:
            res = execute_and_trace(raising.name, uuid(),
                                    [], {})
            self.assertIsInstance(res, ExceptionInfo)
            self.assertTrue(log)
            self.assertIn("Exception outside", log[0].message.args[0])
            self.assertIn("AttributeError", log[0].message.args[0])
    def test_execute_safe_catches_exception(self):
        warnings.resetwarnings()

        def _error_exec(self, *args, **kwargs):
            raise KeyError("baz")

        @task_dec
        def raising():
            raise KeyError("baz")
        raising.request = None

        with catch_warnings(record=True) as log:
            res = execute_and_trace(raising.name, uuid(),
                                    [], {})
            self.assertIsInstance(res, ExceptionInfo)
            self.assertTrue(log)
            self.assertIn("Exception outside", log[0].message.args[0])
            self.assertIn("AttributeError", log[0].message.args[0])
Example #9
0
    def test_execute_safe_catches_exception(self):
        from celery.worker.job import execute_and_trace, WorkerTaskTrace
        old_exec = WorkerTaskTrace.execute

        def _error_exec(self, *args, **kwargs):
            raise KeyError("baz")

        WorkerTaskTrace.execute = _error_exec
        try:
            import warnings
            with warnings.catch_warnings(record=True) as log:
                res = execute_and_trace(mytask.name, gen_unique_id(),
                                        [4], {})
                self.assertTrue(isinstance(res, ExceptionInfo))
                self.assertTrue(log)
                self.assertTrue("Exception outside" in log[0].message.args[0])
                self.assertTrue("KeyError" in log[0].message.args[0])
        finally:
            WorkerTaskTrace.execute = old_exec
Example #10
0
 def test_execute_and_trace(self):
     res = execute_and_trace(mytask.name, uuid(), [4], {})
     self.assertEqual(res, 4 ** 4)
Example #11
0
 def test_execute_and_trace(self):
     res = execute_and_trace(mytask.name, uuid(), [4], {})
     self.assertEqual(res, 4**4)
Example #12
0
 def test_execute_and_trace(self):
     from celery.worker.job import execute_and_trace
     res = execute_and_trace(mytask.name, gen_unique_id(), [4], {})
     self.assertEqual(res, 4 ** 4)