[Checkins] SVN: zc.freeze/trunk/ Remove recently added ftesting.zcml and functional test layers.

Zvezdan Petkovic zvezdan at zope.com
Fri Apr 8 13:25:04 EDT 2011


Log message for revision 121351:
  Remove recently added ftesting.zcml and functional test layers.
  
  - There's no need to introduce functional testing here.
  - Fix test set up instead
  - Cleanup setup.py.
  
  

Changed:
  U   zc.freeze/trunk/buildout.cfg
  U   zc.freeze/trunk/setup.py
  D   zc.freeze/trunk/src/zc/freeze/ftesting.zcml
  U   zc.freeze/trunk/src/zc/freeze/subscribers.txt
  A   zc.freeze/trunk/src/zc/freeze/testing.py
  U   zc.freeze/trunk/src/zc/freeze/tests.py

-=-
Modified: zc.freeze/trunk/buildout.cfg
===================================================================
--- zc.freeze/trunk/buildout.cfg	2011-04-08 13:41:36 UTC (rev 121350)
+++ zc.freeze/trunk/buildout.cfg	2011-04-08 17:25:03 UTC (rev 121351)
@@ -4,8 +4,7 @@
 
 [test]
 recipe = zc.recipe.testrunner
-eggs = zc.freeze
-defaults = "--tests-pattern [fn]?tests --exit-with-status".split()
+eggs = zc.freeze [test]
 
 [py]
 recipe = zc.recipe.egg

Modified: zc.freeze/trunk/setup.py
===================================================================
--- zc.freeze/trunk/setup.py	2011-04-08 13:41:36 UTC (rev 121350)
+++ zc.freeze/trunk/setup.py	2011-04-08 17:25:03 UTC (rev 121351)
@@ -1,39 +1,66 @@
+import os
 from setuptools import setup, find_packages
 
+
+def read(*rnames):
+    return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
+
+
+tests_require = [
+        'transaction',
+        'zope.app.container', # lame, should remove
+        'zope.app.keyreference',
+        'zope.app.testing', # lame, should remove
+        'zope.testing',
+        ],
+
+
 setup(
     name="zc.freeze",
-    version="1.1b",
+    version="1.2dev",
+    author='Zope Project',
+    author_email='zope-dev at zope.org',
+    description=read('README.txt'),
+    long_description='\n\n'.join([
+        read('src', 'zc', 'freeze', 'README.txt'),
+        read('CHANGES.txt'),
+        ]),
+    license='ZPL 2.1',
+    keywords="Zope Zope3 version freeze",
+    classifiers=[
+        'Development Status :: 5 - Production/Stable',
+        'Environment :: Web Environment',
+        'Framework :: Zope3',
+        'Intended Audience :: Developers',
+        'License :: OSI Approved :: Zope Public License',
+        'Natural Language :: English',
+        'Operating System :: OS Independent',
+        'Programming Language :: Python',
+        'Topic :: Internet :: WWW/HTTP',
+        'Topic :: Software Development :: Libraries :: Python Modules',
+        ],
+    url='http://pypi.python.org/pypi/zc.freeze',
+    packages=find_packages('src'),
+    package_dir={'': 'src'},
+    namespace_packages=['zc'],
+    include_package_data=True,
+    zip_safe=False,
     install_requires=[
-        'zc.copy >= 1.1b',
+        'pytz',
         'rwproperty',
         'setuptools',
-        'zope.component',
-        'zope.interface',
-        'pytz',
+        'zc.copy >= 1.1b',
         'ZODB3',
-        'zope.event',
         'zope.annotation',
         'zope.cachedescriptors',
-        'zope.locking >= 1.1b', # optional, actually
-        'zope.testing',
-        'zope.app.testing', # lame, should remove
-        'zope.app.container', # lame, should remove
+        'zope.component',
+        'zope.event',
+        'zope.interface',
+        'zope.locking >= 1.2.1', # optional, actually
         ],
-    packages=find_packages('src'),
-    include_package_data=True,
-    package_dir= {'':'src'},
-
-    namespace_packages=['zc'],
-
-    zip_safe=False,
-    author='Zope Project',
-    author_email='zope-dev at zope.org',
-    url='http://pypi.python.org/pypi/zc.freeze',
-    description=open('README.txt').read(),
-    long_description=
-        open('CHANGES.txt').read() +
-        '\n\n' +
-        open("src/zc/freeze/README.txt").read(),
-    license='ZPL 2.1',
-    keywords="zope zope3",
+    extras_require=dict(
+        test=tests_require,
+        ),
+    tests_require=tests_require,
+    test_suite='zc.freeze.tests.test_suite',
     )

Deleted: zc.freeze/trunk/src/zc/freeze/ftesting.zcml
===================================================================
--- zc.freeze/trunk/src/zc/freeze/ftesting.zcml	2011-04-08 13:41:36 UTC (rev 121350)
+++ zc.freeze/trunk/src/zc/freeze/ftesting.zcml	2011-04-08 17:25:03 UTC (rev 121351)
@@ -1,12 +0,0 @@
-<configure xmlns="http://namespaces.zope.org/zope">
-
-  <include package="zope.component" file="meta.zcml" />
-  <include package="zope.security" file="meta.zcml" />
-  <include package="zope.browserpage" file="meta.zcml" />
-  <include package="zope.app.publication" file="meta.zcml" />
-  <include package="zope.app.publication" />
-  <include package="zope.traversing" />
-  <include package="zope.container" />
-  <include package="zope.app.appsetup" />
-
-</configure>

Modified: zc.freeze/trunk/src/zc/freeze/subscribers.txt
===================================================================
--- zc.freeze/trunk/src/zc/freeze/subscribers.txt	2011-04-08 13:41:36 UTC (rev 121350)
+++ zc.freeze/trunk/src/zc/freeze/subscribers.txt	2011-04-08 17:25:03 UTC (rev 121351)
@@ -1,66 +1,15 @@
-=============
- Subscribers
-=============
+===========
+Subscribers
+===========
 
 The subscribers module contains a subscriber for "enforcing" freezing
 using zope.locking tokens.  This, of course, assumes that zope.locking
 tokens are configured to themselves be enforced somehow, using
 approaches such as those in zc.tokenpolicy.  By default, this `freezer`
 subscriber is registered only for objects that provide
-zc.freeze.interfaces.ITokenEnforced.
+zc.freeze.interfaces.ITokenEnforced.  Imagine a demo object that
+implements ``ITokenEnforced``, with a token utility already in place.
 
-Set up
-======
-
-This sets up a `zope.locking` token utility. This code also creates a Demo
-class that provides ``IVersioning`` and can be used in our setup.
-
-    >>> from zope import interface, component
-    >>> from zope.locking import utility, interfaces
-    >>> getRootFolder()['token_util'] = util = utility.TokenUtility()
-    >>> import transaction
-    >>> transaction.commit()
-    >>> component.provideUtility(util, provides=interfaces.ITokenUtility)
-    >>> import zope.app.keyreference.interfaces
-    >>> class IDemo(interface.Interface):
-    ...     """a demonstration interface for a demonstration class"""
-    ...
-    >>> import zc.freeze
-    >>> class Demo(zc.freeze.Freezing):
-    ...     interface.implements(IDemo)
-    ...
-    >>> class DemoKeyReference(object):
-    ...     component.adapts(IDemo)
-    ...     _class_counter = 0
-    ...     interface.implements(
-    ...         zope.app.keyreference.interfaces.IKeyReference)
-    ...     def __init__(self, context):
-    ...         self.context = context
-    ...         class_ = type(self)
-    ...         self._id = getattr(context, '__demo_key_reference__', None)
-    ...         if self._id is None:
-    ...             self._id = class_._class_counter
-    ...             context.__demo_key_reference__ = self._id
-    ...             class_._class_counter += 1
-    ...     key_type_id = 'zc.freeze.DemoKeyReference'
-    ...     def __call__(self):
-    ...         return self.context
-    ...     def __hash__(self):
-    ...         return (self.key_type_id, self._id)
-    ...     def __cmp__(self, other):
-    ...         if self.key_type_id == other.key_type_id:
-    ...             return cmp(self._id, other._id)
-    ...         return cmp(self.key_type_id, other.key_type_id)
-    ...
-    >>> component.provideAdapter(DemoKeyReference)
-
-
-Subscription
-============
-
-Imagine a demo object that implements ``ITokenEnforced``, with a token utility
-already in place.
-
     >>> import zc.freeze.subscribers
     >>> import zope.component
     >>> zope.component.provideHandler(zc.freeze.subscribers.freezer)
@@ -93,4 +42,3 @@
     True
     >>> util.get(demo2) is None
     True
-

Added: zc.freeze/trunk/src/zc/freeze/testing.py
===================================================================
--- zc.freeze/trunk/src/zc/freeze/testing.py	                        (rev 0)
+++ zc.freeze/trunk/src/zc/freeze/testing.py	2011-04-08 17:25:03 UTC (rev 121351)
@@ -0,0 +1,41 @@
+import zope.app.keyreference.interfaces
+import zope.component
+import zope.interface
+
+import zc.freeze
+
+
+class IDemo(zope.interface.Interface):
+    """a demonstration interface for a demonstration class"""
+
+
+class Demo(zc.freeze.Freezing):
+    zope.interface.implements(IDemo)
+
+
+class DemoKeyReference(object):
+    zope.interface.implements(zope.app.keyreference.interfaces.IKeyReference)
+    zope.component.adapts(IDemo)
+
+    _class_counter = 0
+    key_type_id = 'zc.freeze.DemoKeyReference'
+
+    def __init__(self, context):
+        self.context = context
+        class_ = type(self)
+        self._id = getattr(context, '__demo_key_reference__', None)
+        if self._id is None:
+            self._id = class_._class_counter
+            context.__demo_key_reference__ = self._id
+            class_._class_counter += 1
+
+    def __call__(self):
+        return self.context
+
+    def __hash__(self):
+        return (self.key_type_id, self._id)
+
+    def __cmp__(self, other):
+        if self.key_type_id == other.key_type_id:
+            return cmp(self._id, other._id)
+        return cmp(self.key_type_id, other.key_type_id)

Modified: zc.freeze/trunk/src/zc/freeze/tests.py
===================================================================
--- zc.freeze/trunk/src/zc/freeze/tests.py	2011-04-08 13:41:36 UTC (rev 121350)
+++ zc.freeze/trunk/src/zc/freeze/tests.py	2011-04-08 17:25:03 UTC (rev 121351)
@@ -1,45 +1,67 @@
-from zope.app.container.tests.placelesssetup import PlacelessSetup
-from zope.app.testing import placelesssetup
-from zope.component import testing, eventtesting
 import doctest
 import unittest
-import zope.app.testing.functional
+
+import transaction
+import ZODB.DB
+import ZODB.MappingStorage
+import zope.app.container.tests.placelesssetup
+import zope.app.testing.placelesssetup
+import zope.component
+import zope.component.eventtesting
+import zope.component.testing
+import zope.event
 import zope.testing.module
 
 
-container_setup = PlacelessSetup()
-
-
 def setUp(test):
-    placelesssetup.setUp(test)
+    zope.app.testing.placelesssetup.setUp(test)
     events = test.globs['events'] = []
-    import zope.event
     zope.event.subscribers.append(events.append)
 
 def tearDown(test):
-    placelesssetup.tearDown(test)
+    zope.app.testing.placelesssetup.tearDown(test)
     events = test.globs.pop('events')
-    import zope.event
     assert zope.event.subscribers.pop().__self__ is events
     del events[:] # being paranoid
 
 def subscribersSetUp(test):
-    placelesssetup.setUp(test)
+    import zope.locking.interfaces
+    import zope.locking.utility
+    import zc.freeze.testing
+    zope.app.testing.placelesssetup.setUp(test)
     zope.testing.module.setUp(test, 'zc.freeze.subscribers_txt')
+    test.globs['db'] = db = ZODB.DB(ZODB.MappingStorage.MappingStorage())
+    test.globs['conn'] = conn = db.open()
+    test.globs['Demo'] = zc.freeze.testing.Demo
+    zope.component.provideAdapter(zc.freeze.testing.DemoKeyReference)
+    test.globs['util'] = util = zope.locking.utility.TokenUtility()
+    conn.add(util)
+    zope.component.provideUtility(
+        util, provides=zope.locking.interfaces.ITokenUtility)
+    test.globs['events'] = events = []
+    zope.event.subscribers.append(events.append)
 
 def subscribersTearDown(test):
     zope.testing.module.tearDown(test)
-    placelesssetup.tearDown(test)
+    zope.app.testing.placelesssetup.tearDown(test)
+    transaction.abort()
+    test.globs['conn'].close()
+    test.globs['db'].close()
+    events = test.globs.pop('events')
+    assert zope.event.subscribers.pop().__self__ is events
+    del events[:] # being paranoid
 
+
 def copierSetUp(test):
     zope.testing.module.setUp(test, 'zc.freeze.copier_txt')
-    testing.setUp(test)
-    eventtesting.setUp(test)
+    zope.component.testing.setUp(test)
+    zope.component.eventtesting.setUp(test)
+    container_setup = zope.app.container.tests.placelesssetup.PlacelessSetup()
     container_setup.setUp()
 
 def copierTearDown(test):
     zope.testing.module.tearDown(test)
-    testing.tearDown(test)
+    zope.component.testing.tearDown(test)
 
 def test_suite():
     tests = (
@@ -56,13 +78,12 @@
     except ImportError:
         pass
     else:
-        zope.app.testing.functional.defineLayer(
-            'SubscribersLayer', zcml='ftesting.zcml')
+        tests += (
+            doctest.DocFileSuite(
+                'subscribers.txt',
+                setUp=subscribersSetUp,
+                tearDown=subscribersTearDown
+                ),
+            )
 
-        subscribers = zope.app.testing.functional.FunctionalDocFileSuite(
-            'subscribers.txt',
-            setUp=subscribersSetUp, tearDown=subscribersTearDown)
-        subscribers.layer = SubscribersLayer
-        tests += (subscribers,)
-
     return unittest.TestSuite(tests)



More information about the checkins mailing list