Fix race in CRD duplicates test

The CRD duplicates test was removing the job hold flag which meant all
FakeBuild threads were racing each other to update the FakeWorker
history. Avoid this by releasing jobs for one change at a time and
letting them settle before checking the job history list.

Change-Id: I86ee058546d2f0b833106725b419a8adcb1b7508
This commit is contained in:
Clark Boylan 2015-03-02 12:38:14 -08:00
parent db8b89bef7
commit dd84982d50
1 changed files with 4 additions and 1 deletions

View File

@ -3399,10 +3399,13 @@ For CI problems and help debugging, contact ci@example.org"""
self.waitUntilSettled()
self.assertEqual(len(check_pipeline.getAllItems()), 3)
self.gearman_server.hold_jobs_in_queue = False
# Release jobs in order to avoid races with change A jobs
# finishing before change B jobs.
self.gearman_server.release('.*-merge')
self.gearman_server.release('project1-.*')
self.waitUntilSettled()
self.gearman_server.release('.*-merge')
self.gearman_server.release('project1-.*')
self.waitUntilSettled()
self.gearman_server.release()
self.waitUntilSettled()