コード例 #1
0
 def test_acquire_no_lockspace(self):
     fs = FakeSanlock()
     fs.write_resource("lockspace", "resource", [("path", 1048576)])
     fd = fs.register()
     with self.assertRaises(fs.SanlockException) as e:
         fs.acquire("lockspace", "resource", [("path", 1048576)], slkfd=fd)
     self.assertEqual(e.exception.errno, errno.ENOSPC)
コード例 #2
0
def fake_sanlock(monkeypatch):
    fs = FakeSanlock()
    monkeypatch.setattr(clusterlock, "sanlock", fs)
    # FakeSanlock does not implement the depracated init_resource, so we will
    # create the resource using write_resource, so we can test acquire and
    # release.
    fs.write_resource(LS_NAME, LEASE.name, [(LEASE.path, LEASE.offset)])
    return fs
コード例 #3
0
 def test_write_resource_failure(self):
     fs = FakeSanlock()
     fs.errors["write_resource"] = ExpectedError
     with self.assertRaises(ExpectedError):
         fs.write_resource("lockspace", "resource", [("path", 1048576)])
     with self.assertRaises(fs.SanlockException) as e:
         fs.read_resource("path", 1048576)
     self.assertEqual(e.exception.errno, fs.SANLK_LEADER_MAGIC)
コード例 #4
0
ファイル: fakesanlock_test.py プロジェクト: EdDev/vdsm
 def test_write_resource_failure(self):
     fs = FakeSanlock()
     fs.errors["write_resource"] = ExpectedError
     with self.assertRaises(ExpectedError):
         fs.write_resource("lockspace", "resource", [("path", 1048576)])
     with self.assertRaises(fs.SanlockException) as e:
         fs.read_resource("path", 1048576)
     self.assertEqual(e.exception.errno, fs.SANLK_LEADER_MAGIC)
コード例 #5
0
ファイル: fakesanlock_test.py プロジェクト: EdDev/vdsm
 def test_write_read_resource(self):
     fs = FakeSanlock()
     fs.write_resource("lockspace", "resource", [("path", 1048576)])
     info = fs.read_resource("path", 1048576)
     expected = {"resource": "resource",
                 "lockspace": "lockspace",
                 "version": 0}
     self.assertEqual(info, expected)
コード例 #6
0
 def test_acquire(self):
     fs = FakeSanlock()
     fs.write_resource("lockspace", "resource", [("path", 1048576)])
     fs.add_lockspace("lockspace", 1, "path")
     fd = fs.register()
     fs.acquire("lockspace", "resource", [("path", 1048576)], slkfd=fd)
     res = fs.read_resource("path", 1048576)
     self.assertTrue(res["acquired"], "resource is not acquired")
コード例 #7
0
 def test_write_read_resource(self):
     fs = FakeSanlock()
     fs.write_resource("lockspace", "resource", [("path", 1048576)])
     info = fs.read_resource("path", 1048576)
     expected = {
         "resource": "resource",
         "lockspace": "lockspace",
         "version": 0
     }
     self.assertEqual(info, expected)
コード例 #8
0
 def test_acquire_an_acquired_resource(self):
     fs = FakeSanlock()
     fs.write_resource("lockspace", "resource", [("path", 1048576)])
     fs.add_lockspace("lockspace", 1, "path")
     fd = fs.register()
     fs.acquire("lockspace", "resource", [("path", 1048576)], slkfd=fd)
     with self.assertRaises(fs.SanlockException) as e:
         fs.acquire("lockspace", "resource", [("path", 1048576)], slkfd=fd)
     self.assertEqual(e.exception.errno, errno.EEXIST)
     res = fs.read_resource("path", 1048576)
     self.assertTrue(res["acquired"], "resource is not acquired")
コード例 #9
0
 def test_read_resource_failure(self):
     fs = FakeSanlock()
     fs.errors["read_resource"] = ExpectedError
     fs.write_resource("lockspace", "resource", [("path", 1048576)])
     with self.assertRaises(ExpectedError):
         fs.read_resource("path", 1048576)
コード例 #10
0
ファイル: fakesanlock_test.py プロジェクト: EdDev/vdsm
 def test_read_resource_failure(self):
     fs = FakeSanlock()
     fs.errors["read_resource"] = ExpectedError
     fs.write_resource("lockspace", "resource", [("path", 1048576)])
     with self.assertRaises(ExpectedError):
         fs.read_resource("path", 1048576)