[Checkins]
SVN: Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/
add test coverage for the nested upgradeDepends tags,
bug fixes for what that
Rob Miller
ra at burningman.com
Wed Aug 6 21:12:00 EDT 2008
Log message for revision 89480:
add test coverage for the nested upgradeDepends tags, bug fixes for what that
exposed
Changed:
U Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/tests/test_zcml.py
U Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/upgrade.py
U Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/zcml.py
-=-
Modified: Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/tests/test_zcml.py
===================================================================
--- Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/tests/test_zcml.py 2008-08-07 01:10:38 UTC (rev 89479)
+++ Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/tests/test_zcml.py 2008-08-07 01:11:59 UTC (rev 89480)
@@ -221,8 +221,12 @@
('1', '0')
>>> step.dest
('1', '1')
- >>> step.steps
+ >>> step.import_steps
[]
+ >>> step.run_deps
+ False
+ >>> step.purge
+ False
Clean up and make sure the cleanup works::
@@ -273,6 +277,13 @@
... description="Does another Bar upgrade thing."
... handler="Products.GenericSetup.tests.test_zcml.c_dummy_upgrade_handler"
... />
+ ... <genericsetup:upgradeDepends
+ ... title="Bar Upgrade dependency profile import steps"
+ ... description="Re-imports steps from the profile"
+ ... import_steps="baz bat"
+ ... run_deps="True"
+ ... purge="True"
+ ... />
... </genericsetup:upgradeSteps>
... </configure>'''
>>> zcml.load_config('meta.zcml', Products.GenericSetup)
@@ -291,11 +302,11 @@
>>> type(steps)
<type 'list'>
>>> len(steps)
- 2
- >>> step1, step2 = steps
- >>> step1['source'] == step2['source'] == ('1', '0')
+ 3
+ >>> step1, step2, step3 = steps
+ >>> step1['source'] == step2['source'] == step3['source'] == ('1', '0')
True
- >>> step1['dest'] == step2['dest'] == ('1', '1')
+ >>> step1['dest'] == step2['dest'] == step3['dest'] == ('1', '1')
True
>>> step1['step'].handler
<function b_dummy_upgrade_handler at ...>
@@ -305,6 +316,12 @@
<function c_dummy_upgrade_handler at ...>
>>> step2['title']
u'Bar Upgrade Step 2'
+ >>> step3['step'].import_steps
+ [u'baz', u'bat']
+ >>> step3['step'].run_deps
+ True
+ >>> step3['step'].purge
+ True
First one listed should be second in the registry due to sortkey:
Modified: Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/upgrade.py
===================================================================
--- Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/upgrade.py 2008-08-07 01:10:38 UTC (rev 89479)
+++ Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/upgrade.py 2008-08-07 01:11:59 UTC (rev 89480)
@@ -143,11 +143,11 @@
"""A specialized upgrade step that re-runs a particular import
step from the profile.
"""
- def __init__(self, title, profile, source, dest, desc, steps=[],
+ def __init__(self, title, profile, source, dest, desc, import_steps=[],
run_deps=False, purge=False, checker=None, sortkey=0):
super(UpgradeDepends, self).__init__(title, profile, source, dest,
desc, checker, sortkey)
- self.steps = steps
+ self.import_steps = import_steps
self.run_deps = run_deps
self.purge = purge
Modified: Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/zcml.py
===================================================================
--- Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/zcml.py 2008-08-07 01:10:38 UTC (rev 89479)
+++ Products.GenericSetup/branches/ra-depends-tag/Products/GenericSetup/zcml.py 2008-08-07 01:11:59 UTC (rev 89480)
@@ -196,6 +196,7 @@
#### genericsetup:upgradeStep
import zope.schema
+import zope.configuration
from upgrade import UpgradeStep
from upgrade import UpgradeDepends
from upgrade import _registerUpgradeStep
@@ -262,7 +263,7 @@
required=False,
)
- import_steps = zope.schema.List(
+ import_steps = zope.configuration.fields.Tokens(
title=u"Import steps to rerun",
required=False,
value_type=zope.schema.TextLine(title=u"Import step"),
More information about the Checkins
mailing list