From 7e8e1faf5b759bf82d8e0a0525ec563fdff1a4e8 Mon Sep 17 00:00:00 2001
From: Thomas Herve
Date: Mon, 12 Aug 2013 17:04:00 +0200
Subject: [PATCH] Fix intermittent failure in autoscaling tests
Tests for autoscaling suspend and resume sometimes fail because of an
order issue. The branch changes the mock calls to not rely on order.
Change-Id: I74bcde5c6b486fecbb2c2ed0685ce18c786aa974
---
heat/tests/test_autoscaling.py | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/heat/tests/test_autoscaling.py b/heat/tests/test_autoscaling.py
index aaeb0237..8db5fbf1 100644
--- a/heat/tests/test_autoscaling.py
+++ b/heat/tests/test_autoscaling.py
@@ -174,7 +174,6 @@ class AutoScalingTest(HeatTestCase):
properties['MaxSize'] = '0'
stack = utils.parse_stack(t, params=self.params)
- now = timeutils.utcnow()
self.m.ReplayAll()
rsrc = self.create_scaling_group(t, stack, 'WebServerGroup')
self.assertEqual(None, rsrc.FnGetAtt("InstanceList"))
@@ -325,10 +324,12 @@ class AutoScalingTest(HeatTestCase):
self.m.StubOutWithMock(instance.Instance, 'check_suspend_complete')
inst_cookie1 = ('foo1', 'foo2', 'foo3')
inst_cookie2 = ('bar1', 'bar2', 'bar3')
- instance.Instance.handle_suspend().AndReturn(inst_cookie1)
- instance.Instance.handle_suspend().AndReturn(inst_cookie2)
- instance.Instance.check_suspend_complete(inst_cookie1).AndReturn(True)
- instance.Instance.check_suspend_complete(inst_cookie2).AndReturn(True)
+ instance.Instance.handle_suspend().InAnyOrder().AndReturn(inst_cookie1)
+ instance.Instance.handle_suspend().InAnyOrder().AndReturn(inst_cookie2)
+ instance.Instance.check_suspend_complete(inst_cookie1).InAnyOrder(
+ ).AndReturn(True)
+ instance.Instance.check_suspend_complete(inst_cookie2).InAnyOrder(
+ ).AndReturn(True)
self.m.ReplayAll()
scheduler.TaskRunner(rsrc.suspend)()
@@ -361,10 +362,12 @@ class AutoScalingTest(HeatTestCase):
self.m.StubOutWithMock(instance.Instance, 'check_resume_complete')
inst_cookie1 = ('foo1', 'foo2', 'foo3')
inst_cookie2 = ('bar1', 'bar2', 'bar3')
- instance.Instance.handle_resume().AndReturn(inst_cookie1)
- instance.Instance.handle_resume().AndReturn(inst_cookie2)
- instance.Instance.check_resume_complete(inst_cookie1).AndReturn(True)
- instance.Instance.check_resume_complete(inst_cookie2).AndReturn(True)
+ instance.Instance.handle_resume().InAnyOrder().AndReturn(inst_cookie1)
+ instance.Instance.handle_resume().InAnyOrder().AndReturn(inst_cookie2)
+ instance.Instance.check_resume_complete(inst_cookie1).InAnyOrder(
+ ).AndReturn(True)
+ instance.Instance.check_resume_complete(inst_cookie2).InAnyOrder(
+ ).AndReturn(True)
self.m.ReplayAll()
rsrc.state_set(rsrc.SUSPEND, rsrc.COMPLETE)
@@ -396,7 +399,6 @@ class AutoScalingTest(HeatTestCase):
self.m.StubOutWithMock(instance.Instance, 'handle_suspend')
self.m.StubOutWithMock(instance.Instance, 'check_suspend_complete')
- inst_cookie = (object(), object(), object())
instance.Instance.handle_suspend().AndRaise(Exception('oops'))
self.m.ReplayAll()
@@ -428,7 +430,6 @@ class AutoScalingTest(HeatTestCase):
self.m.StubOutWithMock(instance.Instance, 'handle_resume')
self.m.StubOutWithMock(instance.Instance, 'check_resume_complete')
- inst_cookie = (object(), object(), object())
instance.Instance.handle_resume().AndRaise(Exception('oops'))
self.m.ReplayAll()
--
2.45.2
|