[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