Fix bug with looking up a job tree.

If there are no jobs for a project in a pipeline, an exception
would be raised.  This change ensures that case is checked.

The test fixtures are updated to simulate this condition as well.

Change-Id: Id8e5bdef6288e5574d8553c11f5ac8e8c6c61704
Reviewed-on: https://review.openstack.org/10973
Approved: James E. Blair <corvus@inaugust.com>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Tested-by: James E. Blair <corvus@inaugust.com>
This commit is contained in:
James E. Blair 2012-08-07 09:23:14 -07:00 committed by James E. Blair
parent 90f177df07
commit d09c17a3ed
2 changed files with 12 additions and 2 deletions

View File

@ -28,6 +28,13 @@ pipelines:
start:
verified: 0
- name: unused
manager: IndependentPipelineManager
trigger:
- event: comment-added
approval:
- approved: 1
jobs:
- name: ^.*-merge$
failure-message: Unable to merge change

View File

@ -23,6 +23,9 @@ class Pipeline(object):
self.job_trees = {} # project -> JobTree
self.manager = None
def __repr__(self):
return '<Pipeline %s>' % self.name
def setManager(self, manager):
self.manager = manager
@ -39,7 +42,7 @@ class Pipeline(object):
return tree
def getJobs(self, changeish):
tree = self.job_trees[changeish.project]
tree = self.getJobTree(changeish.project)
if not tree:
return []
return changeish.filterJobs(tree.getJobs())
@ -71,7 +74,7 @@ class Pipeline(object):
return torun
def findJobsToRun(self, changeish):
tree = self.job_trees[changeish.project]
tree = self.getJobTree(changeish.project)
if not tree:
return []
return self._findJobsToRun(tree.job_trees, changeish)