asharif | 455157b | 2013-02-15 21:15:05 +0000 | [diff] [blame^] | 1 | #!/usr/bin/python2.6 |
| 2 | # |
| 3 | # Copyright 2010 Google Inc. All Rights Reserved. |
| 4 | |
| 5 | """lock_machine.py related unit-tests. |
| 6 | |
| 7 | MachineManagerTest tests MachineManager. |
| 8 | """ |
| 9 | |
| 10 | __author__ = "asharif@google.com (Ahmad Sharif)" |
| 11 | |
| 12 | |
| 13 | import lock_machine |
| 14 | import unittest |
| 15 | |
| 16 | |
| 17 | class MachineTest(unittest.TestCase): |
| 18 | def setUp(self): |
| 19 | pass |
| 20 | |
| 21 | |
| 22 | def testRepeatedUnlock(self): |
| 23 | mach = lock_machine.Machine("qqqraymes.mtv") |
| 24 | for i in range(10): |
| 25 | self.assertFalse(mach.Unlock()) |
| 26 | |
| 27 | def testLockUnlock(self): |
| 28 | mach = lock_machine.Machine("otter.mtv") |
| 29 | for i in range(10): |
| 30 | self.assertTrue(mach.Lock(exclusive=True)) |
| 31 | self.assertTrue(mach.Unlock(exclusive=True)) |
| 32 | |
| 33 | def testSharedLock(self): |
| 34 | mach = lock_machine.Machine("chrotomation.mtv") |
| 35 | for i in range(10): |
| 36 | self.assertTrue(mach.Lock(exclusive=False)) |
| 37 | for i in range(10): |
| 38 | self.assertTrue(mach.Unlock(exclusive=False)) |
| 39 | self.assertTrue(mach.Lock(exclusive=True)) |
| 40 | self.assertTrue(mach.Unlock(exclusive=True)) |
| 41 | |
| 42 | def testExclusiveLock(self): |
| 43 | mach = lock_machine.Machine("atree.mtv") |
| 44 | self.assertTrue(mach.Lock(exclusive=True)) |
| 45 | for i in range(10): |
| 46 | self.assertFalse(mach.Lock(exclusive=True)) |
| 47 | self.assertFalse(mach.Lock(exclusive=False)) |
| 48 | self.assertTrue(mach.Unlock(exclusive=True)) |
| 49 | |
| 50 | def testExclusiveState(self): |
| 51 | mach = lock_machine.Machine("testExclusiveState") |
| 52 | self.assertTrue(mach.Lock(exclusive=True)) |
| 53 | for i in range(10): |
| 54 | self.assertFalse(mach.Lock(exclusive=False)) |
| 55 | self.assertTrue(mach.Unlock(exclusive=True)) |
| 56 | |
| 57 | if __name__ == "__main__": |
| 58 | unittest.main() |