Merge "Re-enable zuultrigger test" into feature/zuulv3
This commit is contained in:
commit
4ec7ca8e9b
|
@ -1,6 +1,6 @@
|
||||||
pipelines:
|
- pipeline:
|
||||||
- name: check
|
name: check
|
||||||
manager: IndependentPipelineManager
|
manager: independent
|
||||||
source: gerrit
|
source: gerrit
|
||||||
require:
|
require:
|
||||||
approval:
|
approval:
|
||||||
|
@ -18,9 +18,9 @@ pipelines:
|
||||||
gerrit:
|
gerrit:
|
||||||
verified: -1
|
verified: -1
|
||||||
|
|
||||||
- name: gate
|
- pipeline:
|
||||||
manager: DependentPipelineManager
|
name: gate
|
||||||
failure-message: Build failed. For information on how to proceed, see http://wiki.example.org/Test_Failures
|
manager: dependent
|
||||||
source: gerrit
|
source: gerrit
|
||||||
require:
|
require:
|
||||||
approval:
|
approval:
|
||||||
|
@ -45,9 +45,17 @@ pipelines:
|
||||||
verified: 0
|
verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
projects:
|
- job:
|
||||||
- name: org/project
|
name: project-check
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: project-gate
|
||||||
|
|
||||||
|
- project:
|
||||||
|
name: org/project
|
||||||
check:
|
check:
|
||||||
- project-check
|
jobs:
|
||||||
|
- project-check
|
||||||
gate:
|
gate:
|
||||||
- project-gate
|
jobs:
|
||||||
|
- project-gate
|
0
tests/fixtures/config/zuultrigger/parent-change-enqueued/git/org_project/README
vendored
Normal file
0
tests/fixtures/config/zuultrigger/parent-change-enqueued/git/org_project/README
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
- tenant:
|
||||||
|
name: tenant-one
|
||||||
|
source:
|
||||||
|
gerrit:
|
||||||
|
config-repos:
|
||||||
|
- common-config
|
|
@ -1,6 +1,6 @@
|
||||||
pipelines:
|
- pipeline:
|
||||||
- name: check
|
name: check
|
||||||
manager: IndependentPipelineManager
|
manager: independent
|
||||||
source: gerrit
|
source: gerrit
|
||||||
trigger:
|
trigger:
|
||||||
gerrit:
|
gerrit:
|
||||||
|
@ -12,8 +12,9 @@ pipelines:
|
||||||
gerrit:
|
gerrit:
|
||||||
verified: -1
|
verified: -1
|
||||||
|
|
||||||
- name: gate
|
- pipeline:
|
||||||
manager: DependentPipelineManager
|
name: gate
|
||||||
|
manager: dependent
|
||||||
failure-message: Build failed. For information on how to proceed, see http://wiki.example.org/Test_Failures
|
failure-message: Build failed. For information on how to proceed, see http://wiki.example.org/Test_Failures
|
||||||
source: gerrit
|
source: gerrit
|
||||||
trigger:
|
trigger:
|
||||||
|
@ -33,8 +34,9 @@ pipelines:
|
||||||
verified: 0
|
verified: 0
|
||||||
precedence: high
|
precedence: high
|
||||||
|
|
||||||
- name: merge-check
|
- pipeline:
|
||||||
manager: IndependentPipelineManager
|
name: merge-check
|
||||||
|
manager: independent
|
||||||
source: gerrit
|
source: gerrit
|
||||||
ignore-dependencies: true
|
ignore-dependencies: true
|
||||||
trigger:
|
trigger:
|
||||||
|
@ -44,11 +46,20 @@ pipelines:
|
||||||
gerrit:
|
gerrit:
|
||||||
verified: -1
|
verified: -1
|
||||||
|
|
||||||
projects:
|
- job:
|
||||||
- name: org/project
|
name: project-check
|
||||||
|
|
||||||
|
- job:
|
||||||
|
name: project-gate
|
||||||
|
|
||||||
|
- project:
|
||||||
|
name: org/project
|
||||||
check:
|
check:
|
||||||
- project-check
|
jobs:
|
||||||
|
- project-check
|
||||||
gate:
|
gate:
|
||||||
- project-gate
|
jobs:
|
||||||
|
- project-gate
|
||||||
merge-check:
|
merge-check:
|
||||||
- noop
|
jobs:
|
||||||
|
- noop
|
0
tests/fixtures/config/zuultrigger/project-change-merged/git/org_project/README
vendored
Normal file
0
tests/fixtures/config/zuultrigger/project-change-merged/git/org_project/README
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
- tenant:
|
||||||
|
name: tenant-one
|
||||||
|
source:
|
||||||
|
gerrit:
|
||||||
|
config-repos:
|
||||||
|
- common-config
|
|
@ -23,45 +23,37 @@ logging.basicConfig(level=logging.DEBUG,
|
||||||
'%(levelname)-8s %(message)s')
|
'%(levelname)-8s %(message)s')
|
||||||
|
|
||||||
|
|
||||||
class TestZuulTrigger(ZuulTestCase):
|
class TestZuulTriggerParentChangeEnqueued(ZuulTestCase):
|
||||||
"""Test Zuul Trigger"""
|
tenant_config_file = 'config/zuultrigger/parent-change-enqueued/main.yaml'
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
self.skip("Disabled for early v3 development")
|
|
||||||
|
|
||||||
def test_zuul_trigger_parent_change_enqueued(self):
|
def test_zuul_trigger_parent_change_enqueued(self):
|
||||||
"Test Zuul trigger event: parent-change-enqueued"
|
"Test Zuul trigger event: parent-change-enqueued"
|
||||||
self.updateConfigLayout(
|
|
||||||
'tests/fixtures/layout-zuultrigger-enqueued.yaml')
|
|
||||||
self.sched.reconfigure(self.config)
|
|
||||||
self.registerJobs()
|
|
||||||
|
|
||||||
# This test has the following three changes:
|
# This test has the following three changes:
|
||||||
# B1 -> A; B2 -> A
|
# B1 -> A; B2 -> A
|
||||||
# When A is enqueued in the gate, B1 and B2 should both attempt
|
# When A is enqueued in the gate, B1 and B2 should both attempt
|
||||||
# to be enqueued in both pipelines. B1 should end up in check
|
# to be enqueued in both pipelines. B1 should end up in check
|
||||||
# and B2 in gate because of differing pipeline requirements.
|
# and B2 in gate because of differing pipeline requirements.
|
||||||
self.worker.hold_jobs_in_build = True
|
self.launch_server.hold_jobs_in_build = True
|
||||||
A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A')
|
A = self.fake_gerrit.addFakeChange('org/project', 'master', 'A')
|
||||||
B1 = self.fake_gerrit.addFakeChange('org/project', 'master', 'B1')
|
B1 = self.fake_gerrit.addFakeChange('org/project', 'master', 'B1')
|
||||||
B2 = self.fake_gerrit.addFakeChange('org/project', 'master', 'B2')
|
B2 = self.fake_gerrit.addFakeChange('org/project', 'master', 'B2')
|
||||||
A.addApproval('CRVW', 2)
|
A.addApproval('code-review', 2)
|
||||||
B1.addApproval('CRVW', 2)
|
B1.addApproval('code-review', 2)
|
||||||
B2.addApproval('CRVW', 2)
|
B2.addApproval('code-review', 2)
|
||||||
A.addApproval('VRFY', 1) # required by gate
|
A.addApproval('verified', 1) # required by gate
|
||||||
B1.addApproval('VRFY', -1) # should go to check
|
B1.addApproval('verified', -1) # should go to check
|
||||||
B2.addApproval('VRFY', 1) # should go to gate
|
B2.addApproval('verified', 1) # should go to gate
|
||||||
B1.addApproval('APRV', 1)
|
B1.addApproval('approved', 1)
|
||||||
B2.addApproval('APRV', 1)
|
B2.addApproval('approved', 1)
|
||||||
B1.setDependsOn(A, 1)
|
B1.setDependsOn(A, 1)
|
||||||
B2.setDependsOn(A, 1)
|
B2.setDependsOn(A, 1)
|
||||||
self.fake_gerrit.addEvent(A.addApproval('APRV', 1))
|
self.fake_gerrit.addEvent(A.addApproval('approved', 1))
|
||||||
# Jobs are being held in build to make sure that 3,1 has time
|
# Jobs are being held in build to make sure that 3,1 has time
|
||||||
# to enqueue behind 1,1 so that the test is more
|
# to enqueue behind 1,1 so that the test is more
|
||||||
# deterministic.
|
# deterministic.
|
||||||
self.waitUntilSettled()
|
self.waitUntilSettled()
|
||||||
self.worker.hold_jobs_in_build = False
|
self.launch_server.hold_jobs_in_build = False
|
||||||
self.worker.release()
|
self.launch_server.release()
|
||||||
self.waitUntilSettled()
|
self.waitUntilSettled()
|
||||||
|
|
||||||
self.assertEqual(len(self.history), 3)
|
self.assertEqual(len(self.history), 3)
|
||||||
|
@ -75,13 +67,15 @@ class TestZuulTrigger(ZuulTestCase):
|
||||||
else:
|
else:
|
||||||
raise Exception("Unknown job")
|
raise Exception("Unknown job")
|
||||||
|
|
||||||
def test_zuul_trigger_project_change_merged(self):
|
|
||||||
"Test Zuul trigger event: project-change-merged"
|
|
||||||
self.updateConfigLayout(
|
|
||||||
'tests/fixtures/layout-zuultrigger-merged.yaml')
|
|
||||||
self.sched.reconfigure(self.config)
|
|
||||||
self.registerJobs()
|
|
||||||
|
|
||||||
|
class TestZuulTriggerProjectChangeMerged(ZuulTestCase):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
self.skip("Disabled because v3 noop job does not perform merge")
|
||||||
|
|
||||||
|
tenant_config_file = 'config/zuultrigger/project-change-merged/main.yaml'
|
||||||
|
|
||||||
|
def test_zuul_trigger_project_change_merged(self):
|
||||||
# This test has the following three changes:
|
# This test has the following three changes:
|
||||||
# A, B, C; B conflicts with A, but C does not.
|
# A, B, C; B conflicts with A, but C does not.
|
||||||
# When A is merged, B and C should be checked for conflicts,
|
# When A is merged, B and C should be checked for conflicts,
|
||||||
|
@ -93,12 +87,12 @@ class TestZuulTrigger(ZuulTestCase):
|
||||||
C = self.fake_gerrit.addFakeChange('org/project', 'master', 'C')
|
C = self.fake_gerrit.addFakeChange('org/project', 'master', 'C')
|
||||||
D = self.fake_gerrit.addFakeChange('org/project', 'master', 'D')
|
D = self.fake_gerrit.addFakeChange('org/project', 'master', 'D')
|
||||||
E = self.fake_gerrit.addFakeChange('org/project', 'master', 'E')
|
E = self.fake_gerrit.addFakeChange('org/project', 'master', 'E')
|
||||||
A.addPatchset(['conflict'])
|
A.addPatchset({'conflict': 'foo'})
|
||||||
B.addPatchset(['conflict'])
|
B.addPatchset({'conflict': 'bar'})
|
||||||
D.addPatchset(['conflict2'])
|
D.addPatchset({'conflict2': 'foo'})
|
||||||
E.addPatchset(['conflict2'])
|
E.addPatchset({'conflict2': 'bar'})
|
||||||
A.addApproval('CRVW', 2)
|
A.addApproval('code-review', 2)
|
||||||
self.fake_gerrit.addEvent(A.addApproval('APRV', 1))
|
self.fake_gerrit.addEvent(A.addApproval('approved', 1))
|
||||||
self.waitUntilSettled()
|
self.waitUntilSettled()
|
||||||
|
|
||||||
self.assertEqual(len(self.history), 1)
|
self.assertEqual(len(self.history), 1)
|
||||||
|
@ -124,8 +118,8 @@ class TestZuulTrigger(ZuulTestCase):
|
||||||
# configuration.
|
# configuration.
|
||||||
self.sched.reconfigure(self.config)
|
self.sched.reconfigure(self.config)
|
||||||
|
|
||||||
D.addApproval('CRVW', 2)
|
D.addApproval('code-review', 2)
|
||||||
self.fake_gerrit.addEvent(D.addApproval('APRV', 1))
|
self.fake_gerrit.addEvent(D.addApproval('approved', 1))
|
||||||
self.waitUntilSettled()
|
self.waitUntilSettled()
|
||||||
|
|
||||||
self.assertEqual(len(self.history), 2)
|
self.assertEqual(len(self.history), 2)
|
||||||
|
|
Loading…
Reference in New Issue