Skip to content

Commit

Permalink
Trac #2660 [nine] buildrequests data API uses popBooleanFilter for no…
Browse files Browse the repository at this point in the history
…n-booleans

 - omit filters 'branch' and 'repository'
 - use popOneFilter instead of popFilter for bsid
  • Loading branch information
delanne committed Jan 23, 2014
1 parent 36bd304 commit cb004e0
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 17 deletions.
10 changes: 2 additions & 8 deletions master/buildbot/data/buildrequests.py
Expand Up @@ -104,18 +104,12 @@ def get(self, resultSpec, kwargs):
else:
claimed = resultSpec.popBooleanFilter('claimed')

bsid = resultSpec.popFilter('buildsetid', 'eq')
if bsid:
bsid = bsid[0]
branch = resultSpec.popStringFilter('branch')
repository = resultSpec.popStringFilter('repository')
bsid = resultSpec.popOneFilter('buildsetid', 'eq')
buildrequests = yield self.master.db.buildrequests.getBuildRequests(
buildername=buildername,
complete=complete,
claimed=claimed,
bsid=bsid,
branch=branch,
repository=repository)
bsid=bsid)
if buildrequests:

@defer.inlineCallbacks
Expand Down
4 changes: 4 additions & 0 deletions master/buildbot/data/resultspec.py
Expand Up @@ -69,6 +69,10 @@ def popFilter(self, field, op):
self.filters.remove(f)
return f.values

def popOneFilter(self, field, op):
v = self.popFilter(field, op)
return v[0] if v is not None else None

def popBooleanFilter(self, field):
eqVals = self.popFilter(field, 'eq')
if eqVals and len(eqVals) == 1:
Expand Down
12 changes: 3 additions & 9 deletions master/buildbot/test/unit/test_data_buildrequests.py
Expand Up @@ -157,9 +157,7 @@ def testGetNoFilters(self):
buildername=None,
bsid=None,
complete=None,
claimed=None,
branch=None,
repository=None)
claimed=None)

@defer.inlineCallbacks
def testGetFilters(self):
Expand All @@ -177,9 +175,7 @@ def testGetFilters(self):
buildername=None,
bsid=55,
complete=False,
claimed=True,
branch='mybranch',
repository='myrepo')
claimed=True)

@defer.inlineCallbacks
def testGetClaimedByMasterIdFilters(self):
Expand All @@ -195,9 +191,7 @@ def testGetClaimedByMasterIdFilters(self):
buildername=None,
bsid=None,
complete=None,
claimed=fakedb.FakeBuildRequestsComponent.MASTER_ID,
branch=None,
repository=None)
claimed=fakedb.FakeBuildRequestsComponent.MASTER_ID)


class TestBuildRequest(interfaces.InterfaceTests, unittest.TestCase):
Expand Down

0 comments on commit cb004e0

Please sign in to comment.