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']))
|