Log message for revision 67968:
  Fixed up an issue where an open zodb connection wasn't geting closed properly 
... also reinstated a previously-failing (but no longer) test now that the zodb 
connection handling is working properly.

Changed:
  U   Products.Five/trunk/fiveconfigure.py
  U   Products.Five/trunk/tests/test_registerpackage.py

-=-
Modified: Products.Five/trunk/fiveconfigure.py
===================================================================
--- Products.Five/trunk/fiveconfigure.py        2006-05-04 17:17:04 UTC (rev 
67967)
+++ Products.Five/trunk/fiveconfigure.py        2006-05-04 18:20:34 UTC (rev 
67968)
@@ -211,18 +211,24 @@
                          "package must be filesystem based")
     
     app = Zope2.app()
-    product = initializeProduct(module_, 
-                                module_.__name__, 
-                                module_.__path__[0],
-                                app)
+    try:
+        product = initializeProduct(module_, 
+                                    module_.__name__, 
+                                    module_.__path__[0],
+                                    app)
 
-    product.package_name = module_.__name__
+        product.package_name = module_.__name__
 
-    if init_func is not None:
-        newContext = ProductContext(product, app, module_)
-        init_func(newContext)
+        if init_func is not None:
+            newContext = ProductContext(product, app, module_)
+            init_func(newContext)
+    finally:
+        try:
+            import transaction
+            transaction.commit()
+        finally:
+            app._p_jar.close()
 
-
 def registerPackage(_context, package, initialize=None):
     """ZCML directive function for registering a python package product
     """

Modified: Products.Five/trunk/tests/test_registerpackage.py
===================================================================
--- Products.Five/trunk/tests/test_registerpackage.py   2006-05-04 17:17:04 UTC 
(rev 67967)
+++ Products.Five/trunk/tests/test_registerpackage.py   2006-05-04 18:20:34 UTC 
(rev 67968)
@@ -50,7 +50,22 @@
       ... </configure>'''
       >>> zcml.load_string(configure_zcml)
       pythonproduct2 initialized
+
       
+    Test to see if the pythonproduct2 python package actually gets setup
+    as a zope2 product in the Control Panel.
+
+      >>> product_listing = []
+      >>> import Zope2
+      >>> app = Zope2.app()
+      >>> try:
+      ...    product_listing = app.Control_Panel.Products.objectIds()
+      ... finally:
+      ...     app._p_jar.close()
+      >>> 'pythonproduct2' in product_listing
+      True
+
+
     Clean up:
 
       >>> tearDown()

_______________________________________________
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins

Reply via email to