Revision d2aff862 test/ganeti.locking_unittest.py
b/test/ganeti.locking_unittest.py | ||
---|---|---|
354 | 354 |
self.assert_('five' not in self.ls._names()) |
355 | 355 |
self.assert_('six' not in self.ls._names()) |
356 | 356 |
self.assertEquals(self.ls._list_owned(), set(['seven'])) |
357 |
self.ls.add('eight', acquired=1, shared=1) |
|
358 |
self.assert_('eight' in self.ls._names()) |
|
359 |
self.assertEquals(self.ls._list_owned(), set(['seven', 'eight'])) |
|
357 |
self.assertRaises(AssertionError, self.ls.add, 'eight', acquired=1) |
|
360 | 358 |
self.ls.remove('seven') |
361 | 359 |
self.assert_('seven' not in self.ls._names()) |
362 |
self.assertEquals(self.ls._list_owned(), set(['eight'])) |
|
360 |
self.assertEquals(self.ls._list_owned(), set([])) |
|
361 |
self.ls.acquire(None, shared=1) |
|
362 |
self.assertRaises(AssertionError, self.ls.add, 'eight') |
|
363 |
self.ls.release() |
|
364 |
self.ls.acquire(None) |
|
365 |
self.ls.add('eight', acquired=1) |
|
366 |
self.assert_('eight' in self.ls._names()) |
|
367 |
self.assert_('eight' in self.ls._list_owned()) |
|
368 |
self.ls.add('nine') |
|
369 |
self.assert_('nine' in self.ls._names()) |
|
370 |
self.assert_('nine' not in self.ls._list_owned()) |
|
363 | 371 |
self.ls.release() |
364 | 372 |
self.ls.remove(['two']) |
365 | 373 |
self.assert_('two' not in self.ls._names()) |
... | ... | |
550 | 558 |
self.assertEqual(self.done.get(True, 1), 'DONE') |
551 | 559 |
self.assertEqual(self.done.get(True, 1), 'DONE') |
552 | 560 |
|
561 |
def testConcurrentSetLockAdd(self): |
|
562 |
self.ls.acquire('one') |
|
563 |
# Another thread wants the whole SetLock |
|
564 |
Thread(target=self._doLockSet, args=(None, 0)).start() |
|
565 |
Thread(target=self._doLockSet, args=(None, 1)).start() |
|
566 |
self.assertRaises(Queue.Empty, self.done.get, True, 0.2) |
|
567 |
self.assertRaises(AssertionError, self.ls.add, 'four') |
|
568 |
self.ls.release() |
|
569 |
self.assertEqual(self.done.get(True, 1), 'DONE') |
|
570 |
self.assertEqual(self.done.get(True, 1), 'DONE') |
|
571 |
self.ls.acquire(None) |
|
572 |
Thread(target=self._doLockSet, args=(None, 0)).start() |
|
573 |
Thread(target=self._doLockSet, args=(None, 1)).start() |
|
574 |
self.assertRaises(Queue.Empty, self.done.get, True, 0.2) |
|
575 |
self.ls.add('four') |
|
576 |
self.ls.add('five', acquired=1) |
|
577 |
self.ls.add('six', acquired=1, shared=1) |
|
578 |
self.assertEquals(self.ls._list_owned(), |
|
579 |
set(['one', 'two', 'three', 'five', 'six'])) |
|
580 |
self.assertEquals(self.ls._is_owned(), True) |
|
581 |
self.assertEquals(self.ls._names(), |
|
582 |
set(['one', 'two', 'three', 'four', 'five', 'six'])) |
|
583 |
self.ls.release() |
|
584 |
self.assertEqual(self.done.get(True, 1), 'DONE') |
|
585 |
self.assertEqual(self.done.get(True, 1), 'DONE') |
|
586 |
|
|
553 | 587 |
def testEmptyLockSet(self): |
554 | 588 |
# get the set-lock |
555 | 589 |
self.assertEqual(self.ls.acquire(None), set(['one', 'two', 'three'])) |
Also available in: Unified diff