class TestBed(PersistentData): """Collection of devices, in different roles, that comprise a test setup. This is called a "testbed". Its contained devices are allocated as a unit.""" def __init__(self, name): super(TestBed, self).__init__() self.name = name self._items = PersistentDict() self.user = None # set by test runner at test run time def __repr__(self): return "%s(%r)" % (self.__class__.__name__, self.name) def set_owner(self, newowner): super(TestBed, self).set_owner(newowner) try: for device in self._items.values(): giveto(device, newowner) except: self.disown() raise def disown(self): owner = self.get_owner() super(TestBed, self).disown() for device in self._items.values(): try: takeback(device, owner) except: pass
def __init__(self, name): super(TestBed, self).__init__() self.name = name self._items = PersistentDict() self.user = None # set by test runner at test run time