[Checkins] SVN: GenericSetup/branches/1.2/ Merge -r71274 from trunk
into 1.2 branch,
so that the toolset registry is only updated on toolset step import.
Alec Mitchell
apm13 at columbia.edu
Wed Nov 22 13:00:35 EST 2006
Log message for revision 71275:
Merge -r71274 from trunk into 1.2 branch, so that the toolset registry is only updated on toolset step import.
Changed:
U GenericSetup/branches/1.2/CHANGES.txt
U GenericSetup/branches/1.2/tests/test_tool.py
U GenericSetup/branches/1.2/tool.py
-=-
Modified: GenericSetup/branches/1.2/CHANGES.txt
===================================================================
--- GenericSetup/branches/1.2/CHANGES.txt 2006-11-22 17:56:07 UTC (rev 71274)
+++ GenericSetup/branches/1.2/CHANGES.txt 2006-11-22 18:00:34 UTC (rev 71275)
@@ -1,5 +1,9 @@
GenericSetup Product Changelog
+ - No longer read the toolset xml and update the toolset regustry on
+ import context change. Doing this only during the toolset step import
+ should be sufficient.
+
GenericSetup 1.2-beta (2006/09/20)
- tool: Added support for uploading a tarball on the "Import" tab
Modified: GenericSetup/branches/1.2/tests/test_tool.py
===================================================================
--- GenericSetup/branches/1.2/tests/test_tool.py 2006-11-22 17:56:07 UTC (rev 71274)
+++ GenericSetup/branches/1.2/tests/test_tool.py 2006-11-22 18:00:34 UTC (rev 71275)
@@ -191,17 +191,6 @@
self.assertEqual( export_registry.getStep( 'one' ), ONE_FUNC )
- toolset = tool.getToolsetRegistry()
- self.assertEqual( len( toolset.listForbiddenTools() ), 1 )
- self.failUnless( 'doomed' in toolset.listForbiddenTools() )
- self.assertEqual( len( toolset.listRequiredTools() ), 2 )
- self.failUnless( 'mandatory' in toolset.listRequiredTools() )
- info = toolset.getRequiredToolInfo( 'mandatory' )
- self.assertEqual( info[ 'class' ], 'path.to.one' )
- self.failUnless( 'obligatory' in toolset.listRequiredTools() )
- info = toolset.getRequiredToolInfo( 'obligatory' )
- self.assertEqual( info[ 'class' ], 'path.to.another' )
-
def test_runImportStep_nonesuch( self ):
site = self._makeSite()
@@ -611,6 +600,7 @@
self.assertEqual( len( import_registry.listSteps() ), 1 )
self.failUnless( 'one' in import_registry.listSteps() )
info = import_registry.getStepMetadata( 'one' )
+
self.assertEqual( info[ 'id' ], 'one' )
self.assertEqual( info[ 'title' ], 'One Step' )
self.assertEqual( info[ 'version' ], '1' )
@@ -632,18 +622,7 @@
self.assertEqual( export_registry.getStep( 'one' ), ONE_FUNC )
- toolset = tool.getToolsetRegistry()
- self.assertEqual( len( toolset.listForbiddenTools() ), 1 )
- self.failUnless( 'doomed' in toolset.listForbiddenTools() )
- self.assertEqual( len( toolset.listRequiredTools() ), 2 )
- self.failUnless( 'mandatory' in toolset.listRequiredTools() )
- info = toolset.getRequiredToolInfo( 'mandatory' )
- self.assertEqual( info[ 'class' ], 'path.to.one' )
- self.failUnless( 'obligatory' in toolset.listRequiredTools() )
- info = toolset.getRequiredToolInfo( 'obligatory' )
- self.assertEqual( info[ 'class' ], 'path.to.another' )
-
_DEFAULT_STEP_REGISTRIES_EXPORT_XML = """\
<?xml version="1.0"?>
<export-steps>
@@ -789,6 +768,40 @@
class Test_importToolset( _ToolsetSetup ):
+ def test_import_updates_registry(self):
+ from Products.GenericSetup.tool import TOOLSET_XML
+ from Products.GenericSetup.tool import importToolset
+ from test_registry import _NORMAL_TOOLSET_XML
+
+ site = self._initSite()
+ context = DummyImportContext( site, tool=site.setup_tool )
+
+ # Import forbidden
+ context._files[ TOOLSET_XML ] = _FORBIDDEN_TOOLSET_XML
+ importToolset( context )
+
+ tool = context.getSetupTool()
+ toolset = tool.getToolsetRegistry()
+
+ self.assertEqual( len( toolset.listForbiddenTools() ), 3 )
+ self.failUnless( 'doomed' in toolset.listForbiddenTools() )
+ self.failUnless( 'damned' in toolset.listForbiddenTools() )
+ self.failUnless( 'blasted' in toolset.listForbiddenTools() )
+
+ # Import required
+ context._files[ TOOLSET_XML ] = _REQUIRED_TOOLSET_XML
+ importToolset( context )
+
+ self.assertEqual( len( toolset.listRequiredTools() ), 2 )
+ self.failUnless( 'mandatory' in toolset.listRequiredTools() )
+ info = toolset.getRequiredToolInfo( 'mandatory' )
+ self.assertEqual( info[ 'class' ],
+ 'Products.GenericSetup.tests.test_tool.DummyTool' )
+ self.failUnless( 'obligatory' in toolset.listRequiredTools() )
+ info = toolset.getRequiredToolInfo( 'obligatory' )
+ self.assertEqual( info[ 'class' ],
+ 'Products.GenericSetup.tests.test_tool.DummyTool' )
+
def test_tool_ids( self ):
# The tool import mechanism used to rely on the fact that all tools
# have unique IDs set at the class level and that you can call their
Modified: GenericSetup/branches/1.2/tool.py
===================================================================
--- GenericSetup/branches/1.2/tool.py 2006-11-22 17:56:07 UTC (rev 71274)
+++ GenericSetup/branches/1.2/tool.py 2006-11-22 18:00:34 UTC (rev 71275)
@@ -186,7 +186,6 @@
def applyContext(self, context, encoding=None):
self._updateImportStepsRegistry(context, encoding)
self._updateExportStepsRegistry(context, encoding)
- self._updateToolsetRegistry(context, encoding)
security.declareProtected(ManagePortal, 'getImportStepRegistry')
def getImportStepRegistry(self):
@@ -718,19 +717,6 @@
description=description,
)
- security.declarePrivate('_updateToolsetRegistry')
- def _updateToolsetRegistry(self, context, encoding):
-
- """ Update our toolset registry from our profile.
- """
- if context is None:
- context = self._getImportContext(self._import_context_id)
- xml = context.readDataFile(TOOLSET_XML)
- if xml is None:
- return
-
- self._toolset_registry.parseXML(xml, encoding)
-
security.declarePrivate('_doRunImportStep')
def _doRunImportStep(self, step_id, context):
More information about the Checkins
mailing list