annotate Lib/test/test_mutex.py @ 79675:c0a2294de787 2.7

Issue #16199: Backport 2to3 typo fix from 3.2.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Thu, 11 Oct 2012 16:15:46 -0700
parents 6768b2350c57
children a617a50d2766
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45485
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
1 import unittest
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
2 import test.test_support
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
3
46752
9fbc2da54e29 The mutex module has been deprecated for removal in 3.0.
Brett Cannon <bcannon@gmail.com>
parents: 45485
diff changeset
4 mutex = test.test_support.import_module("mutex", deprecated=True)
9fbc2da54e29 The mutex module has been deprecated for removal in 3.0.
Brett Cannon <bcannon@gmail.com>
parents: 45485
diff changeset
5
45485
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
6 class MutexTest(unittest.TestCase):
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
7
47452
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
8 def test_lock_and_unlock(self):
45485
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
9
47452
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
10 def called_by_mutex(some_data):
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
11 self.assertEqual(some_data, "spam")
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 47452
diff changeset
12 self.assertTrue(m.test(), "mutex not held")
47452
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
13 # Nested locking
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
14 m.lock(called_by_mutex2, "eggs")
45485
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
15
47452
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
16 def called_by_mutex2(some_data):
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
17 self.assertEquals(some_data, "eggs")
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 47452
diff changeset
18 self.assertTrue(m.test(), "mutex not held")
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 47452
diff changeset
19 self.assertTrue(ready_for_2,
47452
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
20 "called_by_mutex2 called too soon")
45485
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
21
47452
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
22 m = mutex.mutex()
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
23 read_for_2 = False
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
24 m.lock(called_by_mutex, "spam")
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
25 ready_for_2 = True
45485
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
26 # unlock both locks
47452
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
27 m.unlock()
47ff24bc6116 make test_mutex more elegant
Benjamin Peterson <benjamin@python.org>
parents: 46752
diff changeset
28 m.unlock()
55002
6768b2350c57 convert usage of fail* to assert*
Benjamin Peterson <benjamin@python.org>
parents: 47452
diff changeset
29 self.assertFalse(m.test(), "mutex still held")
45485
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
30
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
31 def test_main():
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
32 test.test_support.run_unittest(MutexTest)
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
33
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
34 if __name__ == "__main__":
30578e04d35c Added simple test case. Thanks Benjamin Peterson.
Facundo Batista <facundobatista@gmail.com>
parents:
diff changeset
35 test_main()