Mercurial > cpython-lru_cache-weakref
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 |
| 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() |
