Skip to content

Commit

Permalink
Faster tests exposed buggy tests
Browse files Browse the repository at this point in the history
  • Loading branch information
labisso committed Mar 9, 2013
1 parent a5a49a3 commit 4fbb4d7
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 33 deletions.
35 changes: 8 additions & 27 deletions epu/test/test_integration.py
Expand Up @@ -413,35 +413,17 @@ def get_valid_libcloud_nodes(self):
return [node for node in nodes if node.state != NodeState.TERMINATED]

def wait_for_libcloud_nodes(self, count, timeout=60):
nodes = None
timeleft = float(timeout)
sleep_amount = 0.01

while timeleft > 0 and (nodes is None or len(nodes) != count):
nodes = self.get_valid_libcloud_nodes()

time.sleep(sleep_amount)
timeleft -= sleep_amount
return nodes
wait(lambda: len(self.get_valid_libcloud_nodes()) == count,
timeout=timeout)
return self.get_valid_libcloud_nodes()

def wait_for_domain_set(self, expected, timeout=30):
expected = set(expected)
domains = set()
timeleft = float(timeout)
sleep_amount = 0.01

while timeleft > 0 and domains != expected:
domains = set(self.epum_client.list_domains())

time.sleep(sleep_amount)
timeleft -= sleep_amount
wait(lambda : set(self.epum_client.list_domains()) == expected,
timeout=timeout)

def wait_for_all_domains(self, timeout=30):
timeleft = float(timeout)
sleep_amount = 0.01
while timeleft > 0 and not self.verify_all_domain_instances():
time.sleep(sleep_amount)
timeleft -= sleep_amount
wait(self.verify_all_domain_instances, timeout=timeout)

def verify_all_domain_instances(self):
libcloud_nodes = self.get_valid_libcloud_nodes()
Expand All @@ -467,17 +449,16 @@ def verify_all_domain_instances(self):

if InstanceState.PENDING <= state <= InstanceState.TERMINATING:
iaas_id = domain_instance['iaas_id']
self.assertIn(iaas_id, libcloud_nodes_by_id)
found_nodes.add(iaas_id)
valid_count += 1

if valid_count != preserve_n:
all_complete = False

# ensure the set of seen iaas IDs matches the total set
self.assertEqual(found_nodes, set(libcloud_nodes_by_id.keys()))
nodes_match = found_nodes == set(libcloud_nodes_by_id.keys())

return all_complete
return all_complete and nodes_match

def test_add_remove_domain(self):

Expand Down
5 changes: 2 additions & 3 deletions epu/test/test_zk_leaders_epum.py
Expand Up @@ -192,17 +192,16 @@ def verify_all_domain_instances(self):

if InstanceState.PENDING <= state <= InstanceState.TERMINATING:
iaas_id = domain_instance['iaas_id']
self.assertIn(iaas_id, libcloud_nodes_by_id)
found_nodes.add(iaas_id)
valid_count += 1

if valid_count != preserve_n:
all_complete = False

# ensure the set of seen iaas IDs matches the total set
self.assertEqual(found_nodes, set(libcloud_nodes_by_id.keys()))
nodes_match = found_nodes == set(libcloud_nodes_by_id.keys())

return all_complete
return all_complete and nodes_match

def _kill_cb(self, place_at, place_want_list, kill_func):
if not kill_func:
Expand Down
5 changes: 2 additions & 3 deletions epu/test/test_zk_leaders_provisoner.py
Expand Up @@ -189,17 +189,16 @@ def verify_all_domain_instances(self):

if InstanceState.PENDING <= state <= InstanceState.TERMINATING:
iaas_id = domain_instance['iaas_id']
self.assertIn(iaas_id, libcloud_nodes_by_id)
found_nodes.add(iaas_id)
valid_count += 1

if valid_count != preserve_n:
all_complete = False

# ensure the set of seen iaas IDs matches the total set
self.assertEqual(found_nodes, set(libcloud_nodes_by_id.keys()))
nodes_match = found_nodes == set(libcloud_nodes_by_id.keys())

return all_complete
return all_complete and nodes_match

def _kill_cb(self, place_at, place_want_list, kill_func):
if not kill_func:
Expand Down

0 comments on commit 4fbb4d7

Please sign in to comment.