test API: allow passing resource requirements

For all those API functions that directly use reserved_resources.get(), add a
'specifics' argument to be able to pick specific resources. For example, this
allows to pick a suite.bts(specifics={'type': 'osmo-bts-sysmo'})

I needed this to test error reporting for over-using resources, but will most
probably make sense in the future.

Change-Id: If6f175f4bb53dec5306fb3c6479202a7bf1c7116
This commit is contained in:
Neels Hofmeyr 2017-06-06 21:52:03 +02:00
parent a8a05a2e23
commit b902b29912
1 changed files with 6 additions and 6 deletions

View File

@ -286,8 +286,8 @@ class SuiteRun(log.Origin):
return
self.reserved_resources.free()
def ip_address(self):
return self.reserved_resources.get(resource.R_IP_ADDRESS)
def ip_address(self, specifics=None):
return self.reserved_resources.get(resource.R_IP_ADDRESS, specifics=specifics)
def nitb(self, ip_address=None):
if ip_address is None:
@ -314,11 +314,11 @@ class SuiteRun(log.Origin):
ip_address = self.ip_address()
return osmo_bsc.OsmoBsc(self, msc, ip_address)
def bts(self):
return bts_obj(self, self.reserved_resources.get(resource.R_BTS))
def bts(self, specifics=None):
return bts_obj(self, self.reserved_resources.get(resource.R_BTS, specifics=specifics))
def modem(self):
conf = self.reserved_resources.get(resource.R_MODEM)
def modem(self, specifics=None):
conf = self.reserved_resources.get(resource.R_MODEM, specifics=specifics)
self.dbg('create Modem object', conf=conf)
modem = ofono_client.Modem(conf)
self.register_for_cleanup(modem)