equal
deleted
inserted
replaced
|
1 import unittest |
|
2 import test.test_support |
|
3 |
|
4 mutex = test.test_support.import_module("mutex", deprecated=True) |
|
5 |
|
6 class MutexTest(unittest.TestCase): |
|
7 |
|
8 def test_lock_and_unlock(self): |
|
9 |
|
10 def called_by_mutex(some_data): |
|
11 self.assertEqual(some_data, "spam") |
|
12 self.assert_(m.test(), "mutex not held") |
|
13 # Nested locking |
|
14 m.lock(called_by_mutex2, "eggs") |
|
15 |
|
16 def called_by_mutex2(some_data): |
|
17 self.assertEquals(some_data, "eggs") |
|
18 self.assert_(m.test(), "mutex not held") |
|
19 self.assert_(ready_for_2, |
|
20 "called_by_mutex2 called too soon") |
|
21 |
|
22 m = mutex.mutex() |
|
23 read_for_2 = False |
|
24 m.lock(called_by_mutex, "spam") |
|
25 ready_for_2 = True |
|
26 # unlock both locks |
|
27 m.unlock() |
|
28 m.unlock() |
|
29 self.failIf(m.test(), "mutex still held") |
|
30 |
|
31 def test_main(): |
|
32 test.test_support.run_unittest(MutexTest) |
|
33 |
|
34 if __name__ == "__main__": |
|
35 test_main() |