From 0cf8d7eda3a0bf32453f2fba8ab2404163d60af4 Mon Sep 17 00:00:00 2001 From: Anastasia Karpinska Date: Fri, 28 Mar 2014 16:03:04 +0200 Subject: [PATCH] Test retry fails on revert Change-Id: Ie2b85fe228ae746b76b70d5c9cc01a0cdf53d8f8 --- taskflow/tests/unit/test_retries.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/taskflow/tests/unit/test_retries.py b/taskflow/tests/unit/test_retries.py index 97d33e77..42f4a5fe 100644 --- a/taskflow/tests/unit/test_retries.py +++ b/taskflow/tests/unit/test_retries.py @@ -636,6 +636,24 @@ class RetryTest(utils.EngineTestBase): self.assertEqual(r.history[0][1], {}) self.assertEqual(isinstance(r.history[0][0], misc.Failure), True) + def test_retry_revert_fails(self): + + class FailingRetry(retry.Retry): + + def execute(self, **kwargs): + raise ValueError('OMG I FAILED') + + def revert(self, history, **kwargs): + raise ValueError('WOOT!') + + def on_failure(self, **kwargs): + return retry.REVERT + + r = FailingRetry() + flow = lf.Flow('testflow', r) + engine = self._make_engine(flow) + self.assertRaisesRegexp(ValueError, '^WOOT', engine.run) + def test_nested_provides_graph_reverts_correctly(self): flow = gf.Flow("test").add( utils.SaveOrderTask('a', requires=['x']),