]> granicus.if.org Git - python/commitdiff
Added simple test case. Thanks Benjamin Peterson.
authorFacundo Batista <facundobatista@gmail.com>
Sat, 23 Feb 2008 22:54:12 +0000 (22:54 +0000)
committerFacundo Batista <facundobatista@gmail.com>
Sat, 23 Feb 2008 22:54:12 +0000 (22:54 +0000)
Lib/test/test_mutex.py [new file with mode: 0644]

diff --git a/Lib/test/test_mutex.py b/Lib/test/test_mutex.py
new file mode 100644 (file)
index 0000000..6318c70
--- /dev/null
@@ -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()