Exemple #1
0
 def testResourceStatuses(self, tmp_manager):
     status = rm._getResourceStatus("storage", "resource")
     assert status == rm.STATUS_FREE
     exclusive1 = rm.acquireResource("storage", "resource", rm.EXCLUSIVE)
     status = rm._getResourceStatus("storage", "resource")
     assert status == rm.STATUS_LOCKED
     exclusive1.release()
     shared1 = rm.acquireResource("storage", "resource", rm.SHARED)
     status = rm._getResourceStatus("storage", "resource")
     assert status == rm.STATUS_SHARED
     shared1.release()
     with pytest.raises(KeyError):
         status = rm._getResourceStatus("null", "resource")
 def testResourceStatuses(self):
     status = rm._getResourceStatus("storage", "resource")
     assert status == rm.LockState.free
     exclusive1 = rm.acquireResource("storage", "resource", rm.EXCLUSIVE)
     status = rm._getResourceStatus("storage", "resource")
     assert status == rm.LockState.locked
     exclusive1.release()
     shared1 = rm.acquireResource("storage", "resource", rm.SHARED)
     status = rm._getResourceStatus("storage", "resource")
     assert status == rm.LockState.shared
     shared1.release()
     with pytest.raises(
             KeyError,
             message="Managed to get status on a non existing resource"):
         status = rm._getResourceStatus("null", "resource")
    def testResourceStatuses(self):
        self.assertEqual(rm._getResourceStatus("storage", "resource"),
                         rm.LockState.free)
        exclusive1 = rm.acquireResource("storage", "resource", rm.EXCLUSIVE)
        self.assertEqual(rm._getResourceStatus("storage", "resource"),
                         rm.LockState.locked)
        exclusive1.release()
        shared1 = rm.acquireResource("storage", "resource", rm.SHARED)
        self.assertEqual(rm._getResourceStatus("storage", "resource"),
                         rm.LockState.shared)
        shared1.release()
        try:
            self.assertEqual(rm._getResourceStatus("null", "resource"),
                             rm.LockState.free)
        except KeyError:
            return

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

        self.fail("Managed to get status on a non existing resource")
Exemple #5
0
 def testResourceAutorelease(self, tmp_manager):
     log.info("Acquiring resource", extra={'resource': "bob"})
     res = rm.acquireResource("storage", "resource", rm.SHARED)
     resProxy = proxy(res)
     res = None
     # wait for object to die
     log.info("Waiting for request")
     try:
         while True:
             resProxy.granted()
     except:
         pass
     log.info("Waiting for autoclean")
     while True:
         resStatus = rm._getResourceStatus("storage", "resource")
         if resStatus == rm.STATUS_FREE:
             break
         time.sleep(1)
 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)