Added hooke.hooke.TestHooke
[hooke.git] / hooke / hooke.py
index 5fc357e5d789eeea0a14ccc6fe45e0d33e7b79dd..ed6f8ba867edd5efc621a00e552f1e0da7b8ca2a 100644 (file)
@@ -9,6 +9,7 @@ COPYRIGHT
 '''
 
 import multiprocessing
+import unittest
 
 from . import engine as engine
 from . import config as config_mod
@@ -17,6 +18,7 @@ from . import plugin as plugin_mod
 from . import driver as driver_mod
 from . import ui as ui
 
+
 class Hooke (object):
     def __init__(self, config=None, debug=0):
         self.debug = debug
@@ -79,5 +81,19 @@ def main():
     finally:
         app.close()
 
+class TestHooke (unittest.TestCase):
+    def test_queue_safe(self):
+        """Ensure :class:`Hooke` is :class:`multiprocessing.Queue`-safe.
+        """
+        from multiprocessing import Queue
+        q = Queue()
+        a = Hooke()
+        q.put(a)
+        b = q.get(a)
+        for attribute_name in dir(a):
+            a_attr = getattr(a, attribute_name)
+            b_attr = getattr(b, attribute_name)
+            self.failUnless(a_attr == b_attr)
+
 if __name__ == '__main__':
     main()