blob: 8c00c407f429b23feb7ada29e48e97c91a47dd44 [file] [log] [blame]
asharif455157b2013-02-15 21:15:05 +00001#!/usr/bin/python2.6
2#
3# Copyright 2010 Google Inc. All Rights Reserved.
4
5"""lock_machine.py related unit-tests.
6
7MachineManagerTest tests MachineManager.
8"""
9
10__author__ = "asharif@google.com (Ahmad Sharif)"
11
12
13import lock_machine
14import unittest
15
16
17class 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
57if __name__ == "__main__":
58 unittest.main()