Ejemplo n.º 1
0
    def testResourceStatuses(self):
        self.assertEquals(rm._getResourceStatus("storage", "resource"),
                          rm.LockState.free)
        exclusive1 = rm.acquireResource("storage", "resource", rm.EXCLUSIVE)
        self.assertEquals(rm._getResourceStatus("storage", "resource"),
                          rm.LockState.locked)
        exclusive1.release()
        shared1 = rm.acquireResource("storage", "resource", rm.SHARED)
        self.assertEquals(rm._getResourceStatus("storage", "resource"),
                          rm.LockState.shared)
        shared1.release()
        try:
            self.assertEquals(rm._getResourceStatus("null", "resource"),
                              rm.LockState.free)
        except KeyError:
            return

        self.fail("Managed to get status on a non existing resource")
Ejemplo n.º 2
0
    def testResourceStatuses(self):
        self.assertEquals(rm._getResourceStatus("storage", "resource"),
                          rm.LockState.free)
        exclusive1 = rm.acquireResource("storage", "resource", rm.EXCLUSIVE)
        self.assertEquals(rm._getResourceStatus("storage", "resource"),
                          rm.LockState.locked)
        exclusive1.release()
        shared1 = rm.acquireResource("storage", "resource", rm.SHARED)
        self.assertEquals(rm._getResourceStatus("storage", "resource"),
                          rm.LockState.shared)
        shared1.release()
        try:
            self.assertEquals(rm._getResourceStatus("null", "resource"),
                              rm.LockState.free)
        except KeyError:
            return

        self.fail("Managed to get status on a non existing resource")
Ejemplo n.º 3
0
 def testResourceAutorelease(self):
     self.log.info("Acquiring resource", extra={'resource': "bob"})
     res = rm.acquireResource("storage", "resource", rm.SHARED)
     resProxy = proxy(res)
     res = None
     # wait for object to die
     self.log.info("Waiting for request")
     try:
         while True:
             resProxy.granted()
     except:
         pass
     self.log.info("Waiting for autoclean")
     while True:
         resStatus = rm._getResourceStatus("storage", "resource")
         if resStatus == rm.LockState.free:
             break
         time.sleep(1)
Ejemplo n.º 4
0
 def testResourceAutorelease(self):
     self.log.info("Acquiring resource", extra={'resource': "bob"})
     res = rm.acquireResource("storage", "resource", rm.SHARED)
     resProxy = proxy(res)
     res = None
     # wait for object to die
     self.log.info("Waiting for request")
     try:
         while True:
             resProxy.granted()
     except:
         pass
     self.log.info("Waiting for autoclean")
     while True:
         resStatus = rm._getResourceStatus("storage", "resource")
         if resStatus == rm.LockState.free:
             break
         time.sleep(1)