Пример #1
0
    def testCancelRequest(self):
        resources = []

        def callback(req, res):
            resources.append(res)

        exclusiveReq1 = rm._registerResource(
            "storage", "resource", rm.EXCLUSIVE, callback)
        exclusiveReq2 = rm._registerResource(
            "storage", "resource", rm.EXCLUSIVE, callback)
        exclusiveReq3 = rm._registerResource(
            "storage", "resource", rm.EXCLUSIVE, callback)

        self.assertTrue(exclusiveReq1.granted())
        self.assertFalse(exclusiveReq2.canceled())
        self.assertFalse(exclusiveReq3.granted())

        exclusiveReq2.cancel()
        self.assertTrue(exclusiveReq2.canceled())
        self.assertEqual(resources.pop(), None)  # exclusiveReq 2

        resources.pop().release()  # exclusiveReq 1

        self.assertTrue(exclusiveReq3.granted())
        resources.pop().release()  # exclusiveReq 3
Пример #2
0
    def testCancelRequest(self, tmp_manager):
        resources = []

        def callback(req, res):
            resources.append(res)

        exclusiveReq1 = rm._registerResource("storage", "resource",
                                             rm.EXCLUSIVE, callback)
        exclusiveReq2 = rm._registerResource("storage", "resource",
                                             rm.EXCLUSIVE, callback)
        exclusiveReq3 = rm._registerResource("storage", "resource",
                                             rm.EXCLUSIVE, callback)

        assert exclusiveReq1.granted()
        assert not exclusiveReq2.canceled()
        assert not exclusiveReq3.granted()

        exclusiveReq2.cancel()
        assert exclusiveReq2.canceled()
        assert resources.pop() is None  # exclusiveReq 2

        resources.pop().release()  # exclusiveReq 1

        assert exclusiveReq3.granted()
        resources.pop().release()  # exclusiveReq 3
Пример #3
0
    def testRequestRefCmp(self):
        resources = []
        requests = []

        def callback(req, res):
            resources.insert(0, res)
            requests.insert(0, req)

        req1 = rm._registerResource(
            "string", "resource", rm.EXCLUSIVE, callback)
        req2 = rm._registerResource(
            "string", "resource", rm.EXCLUSIVE, callback)

        self.assertNotEqual(req1, req2)
        self.assertEqual(req1, req1)
        self.assertEqual(req2, req2)
        req1.wait()
        req1Clone = requests.pop()
        self.assertEqual(req1, req1Clone)
        self.assertNotEqual(req1Clone, req2)
        resources.pop().release()
        req2.wait()
        req2Clone = requests.pop()
        self.assertEqual(req2, req2Clone)
        self.assertNotEqual(req1, req2Clone)
        self.assertNotEqual(req1Clone, req2Clone)
        resources[0].release()

        self.assertNotEqual(req1, "STUFF")
Пример #4
0
 def register():
     time.sleep(rnd.randint(0, 4))
     rm._registerResource("string",
                          "resource",
                          lockTranslator[rnd.randint(0, 1)],
                          callback)
     threadLimit.release()
Пример #5
0
    def testRequestRefCmp(self):
        resources = []
        requests = []

        def callback(req, res):
            resources.insert(0, res)
            requests.insert(0, req)

        req1 = rm._registerResource(
            "string", "resource", rm.EXCLUSIVE, callback)
        req2 = rm._registerResource(
            "string", "resource", rm.EXCLUSIVE, callback)

        self.assertNotEqual(req1, req2)
        self.assertEqual(req1, req1)
        self.assertEqual(req2, req2)
        req1.wait()
        req1Clone = requests.pop()
        self.assertEqual(req1, req1Clone)
        self.assertNotEqual(req1Clone, req2)
        resources.pop().release()
        req2.wait()
        req2Clone = requests.pop()
        self.assertEqual(req2, req2Clone)
        self.assertNotEqual(req1, req2Clone)
        self.assertNotEqual(req1Clone, req2Clone)
        resources[0].release()

        self.assertNotEqual(req1, "STUFF")
Пример #6
0
 def register():
     time.sleep(rnd.randint(0, 4))
     rm._registerResource("string",
                          "resource",
                          lockTranslator[rnd.randint(0, 1)],
                          callback)
     threadLimit.release()
Пример #7
0
    def testRequestRefCmp(self):
        resources = []
        requests = []

        def callback(req, res):
            resources.insert(0, res)
            requests.insert(0, req)

        req1 = rm._registerResource("string", "resource", rm.EXCLUSIVE,
                                    callback)
        req2 = rm._registerResource("string", "resource", rm.EXCLUSIVE,
                                    callback)

        assert req1 != req2
        assert req1 == req1
        assert req2 == req2
        req1.wait()
        req1Clone = requests.pop()
        assert req1 == req1Clone
        assert req1Clone != req2
        resources.pop().release()
        req2.wait()
        req2Clone = requests.pop()
        assert req2 == req2Clone
        assert req1 != req2Clone
        assert req1Clone != req2Clone
        resources[0].release()

        assert req1 != "STUFF"
Пример #8
0
    def testCancelRequest(self):
        resources = []

        def callback(req, res):
            resources.append(res)

        exclusiveReq1 = rm._registerResource(
            "storage", "resource", rm.EXCLUSIVE, callback)
        exclusiveReq2 = rm._registerResource(
            "storage", "resource", rm.EXCLUSIVE, callback)
        exclusiveReq3 = rm._registerResource(
            "storage", "resource", rm.EXCLUSIVE, callback)

        self.assertTrue(exclusiveReq1.granted())
        self.assertFalse(exclusiveReq2.canceled())
        self.assertFalse(exclusiveReq3.granted())

        exclusiveReq2.cancel()
        self.assertTrue(exclusiveReq2.canceled())
        self.assertEqual(resources.pop(), None)  # exclusiveReq 2

        resources.pop().release()  # exclusiveReq 1

        self.assertTrue(exclusiveReq3.granted())
        resources.pop().release()  # exclusiveReq 3
Пример #9
0
    def testRequestWithBadCallbackOnGrant(self, tmp_manager):
        def callback(req, res):
            res.release()
            raise Exception("BUY MILK!")

        req = rm._registerResource("string", "resource", rm.EXCLUSIVE,
                                   callback)
        req.wait()
Пример #10
0
    def testRequestWithBadCallbackOnGrant(self):
        def callback(req, res):
            res.release()
            raise Exception("BUY MILK!")

        req = rm._registerResource(
            "string", "resource", rm.EXCLUSIVE, callback)
        req.wait()
Пример #11
0
    def testCancelExclusiveBetweenShared(self):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        exclusive1 = rm.acquireResource("string", "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource(
            "string", "resource", rm.SHARED, callback)
        sharedReq2 = rm._registerResource(
            "string", "resource", rm.SHARED, callback)
        exclusiveReq1 = rm._registerResource(
            "string", "resource", rm.EXCLUSIVE, callback)
        sharedReq3 = rm._registerResource(
            "string", "resource", rm.SHARED, callback)
        sharedReq4 = rm._registerResource(
            "string", "resource", rm.SHARED, callback)

        self.assertFalse(sharedReq1.granted())
        self.assertFalse(sharedReq2.granted())
        self.assertFalse(exclusiveReq1.granted())
        self.assertFalse(sharedReq3.granted())
        self.assertFalse(sharedReq4.granted())

        exclusiveReq1.cancel()
        resources.pop()

        self.assertFalse(sharedReq1.granted())
        self.assertFalse(sharedReq2.granted())
        self.assertFalse(exclusiveReq1.granted())
        self.assertTrue(exclusiveReq1.canceled())
        self.assertFalse(sharedReq3.granted())
        self.assertFalse(sharedReq4.granted())

        exclusive1.release()
        self.assertTrue(sharedReq1.granted())
        self.assertTrue(sharedReq2.granted())
        self.assertTrue(sharedReq3.granted())
        self.assertTrue(sharedReq4.granted())

        while len(resources) > 0:
            resources.pop().release()
Пример #12
0
    def testCancelExclusiveBetweenShared(self, tmp_manager):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        exclusive1 = rm.acquireResource("string", "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource("string", "resource", rm.SHARED,
                                          callback)
        sharedReq2 = rm._registerResource("string", "resource", rm.SHARED,
                                          callback)
        exclusiveReq1 = rm._registerResource("string", "resource",
                                             rm.EXCLUSIVE, callback)
        sharedReq3 = rm._registerResource("string", "resource", rm.SHARED,
                                          callback)
        sharedReq4 = rm._registerResource("string", "resource", rm.SHARED,
                                          callback)

        assert not sharedReq1.granted()
        assert not sharedReq2.granted()
        assert not exclusiveReq1.granted()
        assert not sharedReq3.granted()
        assert not sharedReq4.granted()

        exclusiveReq1.cancel()
        resources.pop()

        assert not sharedReq1.granted()
        assert not sharedReq2.granted()
        assert not exclusiveReq1.granted()
        assert exclusiveReq1.canceled()
        assert not sharedReq3.granted()
        assert not sharedReq4.granted()

        exclusive1.release()
        assert sharedReq1.granted()
        assert sharedReq2.granted()
        assert sharedReq3.granted()
        assert sharedReq4.granted()

        while len(resources) > 0:
            resources.pop().release()
Пример #13
0
    def testRequestWithBadCallbackOnCancel(self, tmp_manager):
        def callback(req, res):
            raise Exception("BUY MILK!")

        blocker = rm.acquireResource("string", "resource", rm.EXCLUSIVE)
        req = rm._registerResource("string", "resource", rm.EXCLUSIVE,
                                   callback)

        req.cancel()

        blocker.release()
Пример #14
0
    def testRequestWithBadCallbackOnCancel(self):
        def callback(req, res):
            raise Exception("BUY MILK!")

        blocker = rm.acquireResource("string", "resource", rm.EXCLUSIVE)
        req = rm._registerResource(
            "string", "resource", rm.EXCLUSIVE, callback)

        req.cancel()

        blocker.release()
Пример #15
0
    def testRequestRefStr(self):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        req = rm._registerResource("string", "resource", rm.SHARED, callback)
        try:
            str(req)
        finally:
            req.wait()
            resources[0].release()
Пример #16
0
    def testRequestRefStr(self, tmp_manager):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        req = rm._registerResource("string", "resource", rm.SHARED, callback)
        try:
            str(req)
        finally:
            req.wait()
            resources[0].release()
Пример #17
0
    def testResourceLockSwitch(self, namespace="string"):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        exclusive1 = rm.acquireResource(namespace, "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource(namespace, "resource", rm.SHARED,
                                          callback)
        sharedReq2 = rm._registerResource(namespace, "resource", rm.SHARED,
                                          callback)
        exclusive2 = rm._registerResource(namespace, "resource", rm.EXCLUSIVE,
                                          callback)
        exclusive3 = rm._registerResource(namespace, "resource", rm.EXCLUSIVE,
                                          callback)
        sharedReq3 = rm._registerResource(namespace, "resource", rm.SHARED,
                                          callback)

        self.assertEqual(exclusive1.read(), "resource:exclusive")
        exclusive1.release()
        self.assertEqual(resources[-1].read(), "resource:shared")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "resource:exclusive")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "resource:shared")
        resources.pop().release()
        # This part is to stop pyflakes for complaining, the reason I need the
        # resourcesRefs alive is so that the manage will not autocollect during
        # the test
        hash(sharedReq1)
        hash(sharedReq2)
        hash(sharedReq3)
        hash(exclusive2)
        hash(exclusive3)
        hash(sharedReq3)
Пример #18
0
    def testFailCreateAfterSwitch(self):
        resources = []

        def callback(req, res):
            resources.append(res)

        exclusive1 = rm.acquireResource(
            "failAfterSwitch", "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource(
            "failAfterSwitch", "resource", rm.SHARED, callback)
        exclusive1.release()
        self.assertTrue(sharedReq1.canceled())
        self.assertEqual(resources[0], None)
Пример #19
0
    def testResourceLockSwitch(self, namespace="string"):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        exclusive1 = rm.acquireResource(namespace, "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource(
            namespace, "resource", rm.SHARED, callback)
        sharedReq2 = rm._registerResource(
            namespace, "resource", rm.SHARED, callback)
        exclusive2 = rm._registerResource(
            namespace, "resource", rm.EXCLUSIVE, callback)
        exclusive3 = rm._registerResource(
            namespace, "resource", rm.EXCLUSIVE, callback)
        sharedReq3 = rm._registerResource(
            namespace, "resource", rm.SHARED, callback)

        self.assertEqual(exclusive1.read(), "resource:exclusive")
        exclusive1.release()
        self.assertEqual(resources[-1].read(), "resource:shared")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "resource:exclusive")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "resource:shared")
        resources.pop().release()
        # This part is to stop pyflakes for complaining, the reason I need the
        # resourcesRefs alive is so that the manage will not autocollect during
        # the test
        hash(sharedReq1)
        hash(sharedReq2)
        hash(sharedReq3)
        hash(exclusive2)
        hash(exclusive3)
        hash(sharedReq3)
Пример #20
0
    def testFailCreateAfterSwitch(self):
        resources = []

        def callback(req, res):
            resources.append(res)

        exclusive1 = rm.acquireResource(
            "failAfterSwitch", "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource(
            "failAfterSwitch", "resource", rm.SHARED, callback)
        exclusive1.release()
        self.assertTrue(sharedReq1.canceled())
        self.assertEqual(resources[0], None)
Пример #21
0
    def testAccessAttributeNotExposedByRequestRef(self, tmp_manager):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        req = rm._registerResource("string", "resource", rm.SHARED, callback)
        with pytest.raises(AttributeError):
            try:
                req.grant()
            finally:
                req.wait()
                resources[0].release()
Пример #22
0
    def testFailCreateAfterSwitch(self, tmp_manager):
        resources = []

        def callback(req, res):
            resources.append(res)

        exclusive1 = rm.acquireResource("failAfterSwitch", "resource",
                                        rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource("failAfterSwitch", "resource",
                                          rm.SHARED, callback)
        exclusive1.release()
        assert sharedReq1.canceled()
        assert resources[0] is None
Пример #23
0
    def testAcquireResourceExclusive(self, tmp_manager):
        resources = []

        def callback(req, res):
            resources.append(res)

        exclusive1 = rm.acquireResource("storage", "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource("storage", "resource", rm.SHARED,
                                          callback)
        sharedReq2 = rm._registerResource("storage", "resource", rm.SHARED,
                                          callback)
        exclusiveReq1 = rm._registerResource("storage", "resource",
                                             rm.EXCLUSIVE, callback)
        exclusiveReq2 = rm._registerResource("storage", "resource",
                                             rm.EXCLUSIVE, callback)

        assert not sharedReq1.granted()
        assert not sharedReq2.granted()
        assert not exclusiveReq1.granted()
        assert not exclusiveReq2.granted()
        exclusive1.release()

        assert sharedReq1.granted()
        assert sharedReq2.granted()
        assert not exclusiveReq1.granted()
        assert not exclusiveReq2.granted()
        resources.pop().release()  # Shared 1

        assert not exclusiveReq1.granted()
        assert not exclusiveReq2.granted()
        resources.pop().release()  # Shared 2

        assert exclusiveReq1.granted()
        assert not exclusiveReq2.granted()
        resources.pop().release()  # exclusiveReq 1

        assert exclusiveReq2.granted()
        resources.pop().release()  # exclusiveReq 2
Пример #24
0
    def testAcquireResourceExclusive(self):
        resources = []

        def callback(req, res):
            resources.append(res)

        exclusive1 = rm.acquireResource("storage", "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource(
            "storage", "resource", rm.SHARED, callback)
        sharedReq2 = rm._registerResource(
            "storage", "resource", rm.SHARED, callback)
        exclusiveReq1 = rm._registerResource(
            "storage", "resource", rm.EXCLUSIVE, callback)
        exclusiveReq2 = rm._registerResource(
            "storage", "resource", rm.EXCLUSIVE, callback)

        self.assertFalse(sharedReq1.granted())
        self.assertFalse(sharedReq2.granted())
        self.assertFalse(exclusiveReq1.granted())
        self.assertFalse(exclusiveReq2.granted())
        exclusive1.release()

        self.assertTrue(sharedReq1.granted())
        self.assertTrue(sharedReq2.granted())
        self.assertFalse(exclusiveReq1.granted())
        self.assertFalse(exclusiveReq2.granted())
        resources.pop().release()  # Shared 1

        self.assertFalse(exclusiveReq1.granted())
        self.assertFalse(exclusiveReq2.granted())
        resources.pop().release()  # Shared 2

        self.assertTrue(exclusiveReq1.granted())
        self.assertFalse(exclusiveReq2.granted())
        resources.pop().release()  # exclusiveReq 1

        self.assertTrue(exclusiveReq2.granted())
        resources.pop().release()  # exclusiveReq 2
Пример #25
0
    def testAcquireResourceExclusive(self):
        resources = []

        def callback(req, res):
            resources.append(res)

        exclusive1 = rm.acquireResource("storage", "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource(
            "storage", "resource", rm.SHARED, callback)
        sharedReq2 = rm._registerResource(
            "storage", "resource", rm.SHARED, callback)
        exclusiveReq1 = rm._registerResource(
            "storage", "resource", rm.EXCLUSIVE, callback)
        exclusiveReq2 = rm._registerResource(
            "storage", "resource", rm.EXCLUSIVE, callback)

        self.assertFalse(sharedReq1.granted())
        self.assertFalse(sharedReq2.granted())
        self.assertFalse(exclusiveReq1.granted())
        self.assertFalse(exclusiveReq2.granted())
        exclusive1.release()

        self.assertTrue(sharedReq1.granted())
        self.assertTrue(sharedReq2.granted())
        self.assertFalse(exclusiveReq1.granted())
        self.assertFalse(exclusiveReq2.granted())
        resources.pop().release()  # Shared 1

        self.assertFalse(exclusiveReq1.granted())
        self.assertFalse(exclusiveReq2.granted())
        resources.pop().release()  # Shared 2

        self.assertTrue(exclusiveReq1.granted())
        self.assertFalse(exclusiveReq2.granted())
        resources.pop().release()  # exclusiveReq 1

        self.assertTrue(exclusiveReq2.granted())
        resources.pop().release()  # exclusiveReq 2
Пример #26
0
    def testResourceLockSwitch(self, namespace, tmp_manager):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        exclusive1 = rm.acquireResource(namespace, "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource(namespace, "resource", rm.SHARED,
                                          callback)
        sharedReq2 = rm._registerResource(namespace, "resource", rm.SHARED,
                                          callback)
        exclusive2 = rm._registerResource(namespace, "resource", rm.EXCLUSIVE,
                                          callback)
        exclusive3 = rm._registerResource(namespace, "resource", rm.EXCLUSIVE,
                                          callback)
        sharedReq3 = rm._registerResource(namespace, "resource", rm.SHARED,
                                          callback)

        assert exclusive1.read() == "resource:exclusive"
        exclusive1.release()
        assert resources[-1].read() == "resource:shared"
        resources.pop().release()
        assert resources[-1].read() == ""
        resources.pop().release()
        assert resources[-1].read() == "resource:exclusive"
        resources.pop().release()
        assert resources[-1].read() == ""
        resources.pop().release()
        assert resources[-1].read() == "resource:shared"
        resources.pop().release()

        # Silense flake8 unused local variables warnings.
        sharedReq1
        sharedReq2
        exclusive2
        exclusive3
        sharedReq3
Пример #27
0
    def testResourceLockSwitch(self, namespace="string"):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        exclusive1 = rm.acquireResource(namespace, "resource", rm.EXCLUSIVE)
        sharedReq1 = rm._registerResource(
            namespace, "resource", rm.SHARED, callback)
        sharedReq2 = rm._registerResource(
            namespace, "resource", rm.SHARED, callback)
        exclusive2 = rm._registerResource(
            namespace, "resource", rm.EXCLUSIVE, callback)
        exclusive3 = rm._registerResource(
            namespace, "resource", rm.EXCLUSIVE, callback)
        sharedReq3 = rm._registerResource(
            namespace, "resource", rm.SHARED, callback)

        self.assertEqual(exclusive1.read(), "resource:exclusive")
        exclusive1.release()
        self.assertEqual(resources[-1].read(), "resource:shared")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "resource:exclusive")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "")
        resources.pop().release()
        self.assertEqual(resources[-1].read(), "resource:shared")
        resources.pop().release()

        # Silense flake8 unused local variables warnings.
        sharedReq1
        sharedReq2
        exclusive2
        exclusive3
        sharedReq3
Пример #28
0
    def testRequestRecancel(self):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        blocker = rm.acquireResource("string", "resource", rm.EXCLUSIVE)
        req = rm._registerResource(
            "string", "resource", rm.EXCLUSIVE, callback)

        req.cancel()

        self.assertRaises(rm.RequestAlreadyProcessedError, req.cancel)

        blocker.release()
Пример #29
0
    def testRequestRecancel(self):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        blocker = rm.acquireResource("string", "resource", rm.EXCLUSIVE)
        req = rm._registerResource(
            "string", "resource", rm.EXCLUSIVE, callback)

        req.cancel()

        self.assertRaises(rm.RequestAlreadyProcessedError, req.cancel)

        blocker.release()
Пример #30
0
    def testAccessAttributeNotExposedByRequestRef(self):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        req = rm._registerResource("string", "resource", rm.SHARED, callback)
        with pytest.raises(
                AttributeError,
                message="Managed to access an attribute not exposed by wrapper"
        ):
            try:
                req.grant()
            finally:
                req.wait()
                resources[0].release()
Пример #31
0
    def testAccessAttributeNotExposedByRequestRef(self):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        req = rm._registerResource("string", "resource", rm.SHARED, callback)
        try:
            req.grant()
        except AttributeError:
            return
        except Exception as ex:
            self.fail("Wrong exception was raised. "
                      "Expected AttributeError got %s", ex.__class__.__name__)
        finally:
            req.wait()
            resources[0].release()

        self.fail("Managed to access an attribute not exposed by wrapper")
Пример #32
0
    def testAccessAttributeNotExposedByRequestRef(self):
        resources = []

        def callback(req, res):
            resources.insert(0, res)

        req = rm._registerResource("string", "resource", rm.SHARED, callback)
        try:
            req.grant()
        except AttributeError:
            return
        except Exception as ex:
            self.fail("Wrong exception was raised. "
                      "Expected AttributeError got %s", ex.__class__.__name__)
        finally:
            req.wait()
            resources[0].release()

        self.fail("Managed to access an attribute not exposed by wrapper")
Пример #33
0
 def testErrorInFactory(self):
     req = rm._registerResource(
         "error", "resource", rm.EXCLUSIVE, lambda req, res: 1)
     self.assertTrue(req.canceled())
Пример #34
0
 def testErrorInFactory(self, tmp_manager):
     req = rm._registerResource("error", "resource", rm.EXCLUSIVE,
                                lambda req, res: 1)
     assert req.canceled()
Пример #35
0
 def testErrorInFactory(self):
     req = rm._registerResource(
         "error", "resource", rm.EXCLUSIVE, lambda req, res: 1)
     self.assertTrue(req.canceled())