diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-05-07 21:28:31 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-05-07 21:28:31 +0000 |
commit | 13bb14d4fd766b523d50a1ebbc92719fa797cbad (patch) | |
tree | 5a15cd10c6cca93ab8897dfaec153be2a74a1668 /tests/test_scheduler.py | |
parent | 3dfcefb494c13da48548e6ec13bf400a5504145a (diff) | |
parent | 7b78b311b87bb134db0decf8c8608385ad3fdc15 (diff) | |
download | zuul-13bb14d4fd766b523d50a1ebbc92719fa797cbad.tar.gz |
Merge "Fix timer jobs getting aborted from abandoning a change"
Diffstat (limited to 'tests/test_scheduler.py')
-rwxr-xr-x | tests/test_scheduler.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/test_scheduler.py b/tests/test_scheduler.py index c872b23d9..c35fb58d3 100755 --- a/tests/test_scheduler.py +++ b/tests/test_scheduler.py @@ -1710,6 +1710,41 @@ class TestScheduler(ZuulTestCase): self.assertEqual(A.reported, 0, "Abandoned change should not report") self.assertEqual(B.reported, 1, "Change should report") + def test_abandoned_not_timer(self): + "Test that an abandoned change does not cancel timer jobs" + + self.worker.hold_jobs_in_build = True + + # Start timer trigger - also org/project + self.config.set('zuul', 'layout_config', + 'tests/fixtures/layout-idle.yaml') + self.sched.reconfigure(self.config) + self.registerJobs() + # The pipeline triggers every second, so we should have seen + # several by now. + time.sleep(5) + self.waitUntilSettled() + # Stop queuing timer triggered jobs so that the assertions + # below don't race against more jobs being queued. + self.config.set('zuul', 'layout_config', + 'tests/fixtures/layout-no-timer.yaml') + self.sched.reconfigure(self.config) + self.registerJobs() + self.assertEqual(len(self.builds), 2, "Two timer jobs") + + A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A') + self.fake_gerrit.addEvent(A.getPatchsetCreatedEvent(1)) + self.waitUntilSettled() + self.assertEqual(len(self.builds), 3, "One change plus two timer jobs") + + self.fake_gerrit.addEvent(A.getChangeAbandonedEvent()) + self.waitUntilSettled() + + self.assertEqual(len(self.builds), 2, "Two timer jobs remain") + + self.worker.release() + self.waitUntilSettled() + def test_zuul_url_return(self): "Test if ZUUL_URL is returning when zuul_url is set in zuul.conf" self.assertTrue(self.sched.config.has_option('merger', 'zuul_url')) |