Revision 7f93570a test/ganeti.locking_unittest.py
b/test/ganeti.locking_unittest.py | ||
---|---|---|
1 | 1 |
#!/usr/bin/python |
2 | 2 |
# |
3 | 3 |
|
4 |
# Copyright (C) 2006, 2007 Google Inc. |
|
4 |
# Copyright (C) 2006, 2007, 2010 Google Inc.
|
|
5 | 5 |
# |
6 | 6 |
# This program is free software; you can redistribute it and/or modify |
7 | 7 |
# it under the terms of the GNU General Public License as published by |
... | ... | |
36 | 36 |
|
37 | 37 |
# This is used to test the ssynchronize decorator. |
38 | 38 |
# Since it's passed as input to a decorator it must be declared as a global. |
39 |
_decoratorlock = locking.SharedLock() |
|
39 |
_decoratorlock = locking.SharedLock("decorator lock")
|
|
40 | 40 |
|
41 | 41 |
#: List for looping tests |
42 | 42 |
ITERATIONS = range(8) |
... | ... | |
256 | 256 |
|
257 | 257 |
def setUp(self): |
258 | 258 |
_ThreadedTestCase.setUp(self) |
259 |
self.sl = locking.SharedLock() |
|
259 |
self.sl = locking.SharedLock("TestSharedLock")
|
|
260 | 260 |
|
261 | 261 |
def testSequenceAndOwnership(self): |
262 | 262 |
self.assertFalse(self.sl._is_owned()) |
... | ... | |
350 | 350 |
self.sl.release() |
351 | 351 |
self._waitThreads() |
352 | 352 |
self.failUnlessEqual(self.done.get_nowait(), 'DEL') |
353 |
self.sl = locking.SharedLock() |
|
353 |
self.sl = locking.SharedLock(self.sl.name)
|
|
354 | 354 |
|
355 | 355 |
@_Repeat |
356 | 356 |
def testExclusiveBlocksSharer(self): |
... | ... | |
378 | 378 |
self.sl.release() |
379 | 379 |
self._waitThreads() |
380 | 380 |
self.failUnlessEqual(self.done.get_nowait(), 'DEL') |
381 |
self.sl = locking.SharedLock() |
|
381 |
self.sl = locking.SharedLock(self.sl.name)
|
|
382 | 382 |
|
383 | 383 |
@_Repeat |
384 | 384 |
def testWaitingExclusiveBlocksSharer(self): |
... | ... | |
441 | 441 |
# The threads who were pending return ERR |
442 | 442 |
for _ in range(4): |
443 | 443 |
self.assertEqual(self.done.get_nowait(), 'ERR') |
444 |
self.sl = locking.SharedLock() |
|
444 |
self.sl = locking.SharedLock(self.sl.name)
|
|
445 | 445 |
|
446 | 446 |
@_Repeat |
447 | 447 |
def testDeletePendingDeleteExclusiveSharers(self): |
... | ... | |
457 | 457 |
self.assertEqual(self.done.get_nowait(), 'ERR') |
458 | 458 |
self.assertEqual(self.done.get_nowait(), 'ERR') |
459 | 459 |
self.assertEqual(self.done.get_nowait(), 'ERR') |
460 |
self.sl = locking.SharedLock() |
|
460 |
self.sl = locking.SharedLock(self.sl.name)
|
|
461 | 461 |
|
462 | 462 |
@_Repeat |
463 | 463 |
def testExclusiveAcquireTimeout(self): |
... | ... | |
703 | 703 |
|
704 | 704 |
def setUp(self): |
705 | 705 |
_ThreadedTestCase.setUp(self) |
706 |
self.sl = locking.SharedLock() |
|
706 |
self.sl = locking.SharedLock("TestSharedLockInCondition")
|
|
707 | 707 |
self.setCondition() |
708 | 708 |
|
709 | 709 |
def setCondition(self): |
... | ... | |
796 | 796 |
def _setUpLS(self): |
797 | 797 |
"""Helper to (re)initialize the lock set""" |
798 | 798 |
self.resources = ['one', 'two', 'three'] |
799 |
self.ls = locking.LockSet(members=self.resources)
|
|
799 |
self.ls = locking.LockSet(self.resources, "TestLockSet")
|
|
800 | 800 |
|
801 | 801 |
def testResources(self): |
802 | 802 |
self.assertEquals(self.ls._names(), set(self.resources)) |
803 |
newls = locking.LockSet() |
|
803 |
newls = locking.LockSet([], "TestLockSet.testResources")
|
|
804 | 804 |
self.assertEquals(newls._names(), set()) |
805 | 805 |
|
806 | 806 |
def testAcquireRelease(self): |
... | ... | |
1288 | 1288 |
|
1289 | 1289 |
def testInitAndResources(self): |
1290 | 1290 |
locking.GanetiLockManager._instance = None |
1291 |
self.GL = locking.GanetiLockManager() |
|
1291 |
self.GL = locking.GanetiLockManager([], [])
|
|
1292 | 1292 |
self.assertEqual(self.GL._names(locking.LEVEL_CLUSTER), set(['BGL'])) |
1293 | 1293 |
self.assertEqual(self.GL._names(locking.LEVEL_NODE), set()) |
1294 | 1294 |
self.assertEqual(self.GL._names(locking.LEVEL_INSTANCE), set()) |
1295 | 1295 |
|
1296 | 1296 |
locking.GanetiLockManager._instance = None |
1297 |
self.GL = locking.GanetiLockManager(nodes=self.nodes)
|
|
1297 |
self.GL = locking.GanetiLockManager(self.nodes, [])
|
|
1298 | 1298 |
self.assertEqual(self.GL._names(locking.LEVEL_CLUSTER), set(['BGL'])) |
1299 | 1299 |
self.assertEqual(self.GL._names(locking.LEVEL_NODE), set(self.nodes)) |
1300 | 1300 |
self.assertEqual(self.GL._names(locking.LEVEL_INSTANCE), set()) |
1301 | 1301 |
|
1302 | 1302 |
locking.GanetiLockManager._instance = None |
1303 |
self.GL = locking.GanetiLockManager(instances=self.instances)
|
|
1303 |
self.GL = locking.GanetiLockManager([], self.instances)
|
|
1304 | 1304 |
self.assertEqual(self.GL._names(locking.LEVEL_CLUSTER), set(['BGL'])) |
1305 | 1305 |
self.assertEqual(self.GL._names(locking.LEVEL_NODE), set()) |
1306 | 1306 |
self.assertEqual(self.GL._names(locking.LEVEL_INSTANCE), |
Also available in: Unified diff