Test that retries don't trigger fail-fast
The fail-fast mechanism should not be triggered on a build that got retried. This is untested so far so add a test case for it. Change-Id: I2c5671072a33f0513b566e7a90254663657d39d1
This commit is contained in:
parent
3dd94345ac
commit
66c740e89e
|
@ -8028,6 +8028,38 @@ class TestSchedulerFailFast(ZuulTestCase):
|
|||
dict(name='project-test6', result='SUCCESS', changes='1,1'),
|
||||
], ordered=False)
|
||||
|
||||
def test_fail_fast_retry(self):
|
||||
"""
|
||||
Tests that a retried build doesn't trigger fail-fast.
|
||||
"""
|
||||
self.executor_server.hold_jobs_in_build = True
|
||||
|
||||
A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A')
|
||||
self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1))
|
||||
self.waitUntilSettled()
|
||||
|
||||
# project-merge and project-test5
|
||||
self.assertEqual(len(self.builds), 2)
|
||||
|
||||
# Force a retry of first build
|
||||
self.builds[0].requeue = True
|
||||
self.executor_server.hold_jobs_in_build = False
|
||||
self.executor_server.release()
|
||||
self.waitUntilSettled()
|
||||
|
||||
self.assertEqual(len(self.builds), 0)
|
||||
self.assertEqual(A.reported, 1)
|
||||
self.assertHistory([
|
||||
dict(name='project-merge', result=None, changes='1,1'),
|
||||
dict(name='project-merge', result='SUCCESS', changes='1,1'),
|
||||
dict(name='project-test1', result='SUCCESS', changes='1,1'),
|
||||
dict(name='project-test2', result='SUCCESS', changes='1,1'),
|
||||
dict(name='project-test3', result='SUCCESS', changes='1,1'),
|
||||
dict(name='project-test4', result='SUCCESS', changes='1,1'),
|
||||
dict(name='project-test5', result='SUCCESS', changes='1,1'),
|
||||
dict(name='project-test6', result='SUCCESS', changes='1,1'),
|
||||
], ordered=False)
|
||||
|
||||
|
||||
class TestPipelineSupersedes(ZuulTestCase):
|
||||
|
||||
|
|
Loading…
Reference in New Issue