From 2254545a37f03da23eefdc9c4f9c5771752750f6 Mon Sep 17 00:00:00 2001 From: Vitaliy Podoba Date: Sat, 31 Dec 2011 10:55:28 +0200 Subject: [PATCH 1/2] fix error on App teardown, somehow ZPublisher doesnt have get_module_info function with arguments --- src/plone/testing/z2.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plone/testing/z2.py b/src/plone/testing/z2.py index 3974901..c2a2abb 100644 --- a/src/plone/testing/z2.py +++ b/src/plone/testing/z2.py @@ -554,9 +554,12 @@ def tearDownApp(self): # Clear out the app reference cached in get_module_info's # 'modules' parameter default dict. (waaaaa) import ZPublisher.Publish - d = list(ZPublisher.Publish.get_module_info.func_defaults) - d[0] = {} - ZPublisher.Publish.get_module_info.func_defaults = tuple(d) + if ZPublisher.Publish.get_module_info.func_defaults is not None: + # func_defaults is None under some circumstances + d = list(ZPublisher.Publish.get_module_info.func_defaults) + d[0] = {} + ZPublisher.Publish.get_module_info.func_defaults = tuple(d) + def setUpBasicProducts(self): """Install a minimal set of products required for Zope 2. From 1f2dde5cb7dcb2255dcf01996ef86cf9bb115863 Mon Sep 17 00:00:00 2001 From: Vitaliy Podoba Date: Mon, 2 Jan 2012 14:15:28 +0200 Subject: [PATCH 2/2] add explanation note regarding get_module_info error fix --- src/plone/testing/z2.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plone/testing/z2.py b/src/plone/testing/z2.py index c2a2abb..cb75110 100644 --- a/src/plone/testing/z2.py +++ b/src/plone/testing/z2.py @@ -555,7 +555,10 @@ def tearDownApp(self): # 'modules' parameter default dict. (waaaaa) import ZPublisher.Publish if ZPublisher.Publish.get_module_info.func_defaults is not None: - # func_defaults is None under some circumstances + # func_defaults is None in case get_module_info is patched. + # This happens if you use plone.postpublicationhook addon which + # deliberately applies plone.app.linkintegrity's patch even within + # testing environment. d = list(ZPublisher.Publish.get_module_info.func_defaults) d[0] = {} ZPublisher.Publish.get_module_info.func_defaults = tuple(d)