diff options
Diffstat (limited to 'lib/python2.7/test/test_mutex.py')
-rw-r--r-- | lib/python2.7/test/test_mutex.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/lib/python2.7/test/test_mutex.py b/lib/python2.7/test/test_mutex.py new file mode 100644 index 0000000..030080e --- /dev/null +++ b/lib/python2.7/test/test_mutex.py @@ -0,0 +1,35 @@ +import unittest +import test.test_support + +mutex = test.test_support.import_module("mutex", deprecated=True) + +class MutexTest(unittest.TestCase): + + def test_lock_and_unlock(self): + + def called_by_mutex(some_data): + self.assertEqual(some_data, "spam") + self.assertTrue(m.test(), "mutex not held") + # Nested locking + m.lock(called_by_mutex2, "eggs") + + def called_by_mutex2(some_data): + self.assertEqual(some_data, "eggs") + self.assertTrue(m.test(), "mutex not held") + self.assertTrue(ready_for_2, + "called_by_mutex2 called too soon") + + m = mutex.mutex() + read_for_2 = False + m.lock(called_by_mutex, "spam") + ready_for_2 = True + # unlock both locks + m.unlock() + m.unlock() + self.assertFalse(m.test(), "mutex still held") + +def test_main(): + test.test_support.run_unittest(MutexTest) + +if __name__ == "__main__": + test_main() |