From c12b9888f70d4845af6dcdf7683e19e2f4c925fa Mon Sep 17 00:00:00 2001 From: Facundo Batista Date: Sat, 23 Feb 2008 22:54:12 +0000 Subject: [PATCH] Added simple test case. Thanks Benjamin Peterson. --- Lib/test/test_mutex.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Lib/test/test_mutex.py diff --git a/Lib/test/test_mutex.py b/Lib/test/test_mutex.py new file mode 100644 index 00000000000..6318c70a8ed --- /dev/null +++ b/Lib/test/test_mutex.py @@ -0,0 +1,33 @@ +import mutex + +import unittest +import test.test_support + +class MutexTest(unittest.TestCase): + + def setUp(self): + self.mutex = mutex.mutex() + + def called_by_mutex(self, some_data): + self.assert_(self.mutex.test(), "mutex not held") + # Nested locking + self.mutex.lock(self.called_by_mutex2, "eggs") + + def called_by_mutex2(self, some_data): + self.assert_(self.ready_for_2, + "called_by_mutex2 called too soon") + + def test_lock_and_unlock(self): + self.read_for_2 = False + self.mutex.lock(self.called_by_mutex, "spam") + self.ready_for_2 = True + # unlock both locks + self.mutex.unlock() + self.mutex.unlock() + self.failIf(self.mutex.test(), "mutex still held") + +def test_main(): + test.test_support.run_unittest(MutexTest) + +if __name__ == "__main__": + test_main()