Fix race in test_queue_rate_limiting_dependent

Because ZK may notify us that the node requests have been filled
out of order, these two builds may not launch in deterministic
order now.

Change-Id: I2762478e81a0e099de19358099ce04c9169af871
This commit is contained in:
James E. Blair 2017-07-08 07:57:09 -07:00
parent 6459db123a
commit df25ddc818
2 changed files with 8 additions and 2 deletions

View File

@ -2333,6 +2333,11 @@ class ZuulTestCase(BaseTestCase):
if count is not None and i >= count:
break
def getSortedBuilds(self):
"Return the list of currently running builds sorted by name"
return sorted(self.builds, key=lambda x: x.name)
def release(self, job):
if isinstance(job, FakeBuild):
job.release()

View File

@ -3349,8 +3349,9 @@ class TestScheduler(ZuulTestCase):
# Only C's test jobs are queued because window is still 1.
self.assertEqual(len(self.builds), 2)
self.assertEqual(self.builds[0].name, 'project-test1')
self.assertEqual(self.builds[1].name, 'project-test2')
builds = self.getSortedBuilds()
self.assertEqual(builds[0].name, 'project-test1')
self.assertEqual(builds[1].name, 'project-test2')
self.executor_server.release('project-.*')
self.waitUntilSettled()