[Checkins] SVN: grok/trunk/ * created buildout
Wolfgang Schnerring
wosc at wosc.de
Mon Oct 16 11:34:10 EDT 2006
Log message for revision 70699:
* created buildout
* made test runner setup functional tests, i. e. test files that are called 'functional_*.py'
Changed:
_U grok/trunk/
A grok/trunk/INSTALL.txt
U grok/trunk/TODO.txt
A grok/trunk/buildout.cfg
A grok/trunk/setup.py
_U grok/trunk/src/
U grok/trunk/src/grok/_grok.py
U grok/trunk/src/grok/tests/test_grok.py
-=-
Property changes on: grok/trunk
___________________________________________________________________
Name: svn:ignore
+ develop-eggs
eggs
bin
parts
.installed.cfg
Name: svn:externals
+ bootstrap svn://svn.zope.org/repos/main/zc.buildout/trunk/bootstrap/
Added: grok/trunk/INSTALL.txt
===================================================================
--- grok/trunk/INSTALL.txt 2006-10-16 15:24:16 UTC (rev 70698)
+++ grok/trunk/INSTALL.txt 2006-10-16 15:34:09 UTC (rev 70699)
@@ -0,0 +1,32 @@
+Preparing for grok development
+------------------------------
+
+Grok is installed via buildout <http://cheeseshop.python.org/pypi/zc.buildout>.
+
+You may have setuptools already installed for your system Python. In
+that case, you may need to upgrade it first because buildout requires
+a very recent version::
+
+ $ sudo easy_install -U setuptools
+
+If this command fails because easy_install is not available, there is
+a good chance you do not have setuptools available for your system
+Python. If so, there is no problem because setuptools will be
+installed locally by buildout.
+
+Bootstrap the buildout environment::
+
+ $ python bootstrap/bootstrap.py
+
+and run the buildout command::
+
+ $ bin/buildout
+ [lots of stuff will be downloaded and installed locally here]
+
+Running the tests
+-----------------
+
+XXX
+
+ $ cd parts/instance
+ $ ../../bin/test
\ No newline at end of file
Modified: grok/trunk/TODO.txt
===================================================================
--- grok/trunk/TODO.txt 2006-10-16 15:24:16 UTC (rev 70698)
+++ grok/trunk/TODO.txt 2006-10-16 15:34:09 UTC (rev 70699)
@@ -113,12 +113,6 @@
Views
=====
-Step 4
-------
-
-- grok.resources() for templates
-- conflict detection between inline templates and file-system templates
-
Step 5
------
Added: grok/trunk/buildout.cfg
===================================================================
--- grok/trunk/buildout.cfg 2006-10-16 15:24:16 UTC (rev 70698)
+++ grok/trunk/buildout.cfg 2006-10-16 15:34:09 UTC (rev 70699)
@@ -0,0 +1,29 @@
+[buildout]
+develop = .
+parts = zope3 data instance test
+
+# find-links = http://download.zope.org/distribution/
+
+[zope3]
+recipe = zc.recipe.zope3checkout
+url = svn://svn.zope.org/repos/main/Zope3/branches/3.3
+
+[data]
+recipe = zc.recipe.filestorage
+
+[instance]
+recipe = zc.recipe.zope3instance
+database = data
+user = grok:grok
+eggs = setuptools
+ grok
+
+zcml = *
+
+[test]
+recipe = zc.recipe.testrunner
+eggs = grok
+extra-paths = parts/zope3/src
+defaults = ['--tests-pattern', '^f?tests$',
+ '-v'
+ ]
Added: grok/trunk/setup.py
===================================================================
--- grok/trunk/setup.py 2006-10-16 15:24:16 UTC (rev 70698)
+++ grok/trunk/setup.py 2006-10-16 15:34:09 UTC (rev 70699)
@@ -0,0 +1,20 @@
+from setuptools import setup, find_packages
+
+setup(
+ name='grok',
+ version='0.1',
+ author='Grok Team',
+ author_email='grok-dev at zope.org',
+ url='http://svn.zope.org/grok/trunk',
+ description="""\
+Grok: Now even cavemen can use Zope 3!
+""",
+ packages=find_packages('src'),
+ package_dir = {'': 'src'},
+ include_package_data = True,
+ zip_safe=False,
+ license='ZPL',
+
+ install_requires=['setuptools',
+ ],
+)
Property changes on: grok/trunk/src
___________________________________________________________________
Name: svn:ignore
+ grok.egg-info
Modified: grok/trunk/src/grok/_grok.py
===================================================================
--- grok/trunk/src/grok/_grok.py 2006-10-16 15:24:16 UTC (rev 70698)
+++ grok/trunk/src/grok/_grok.py 2006-10-16 15:34:09 UTC (rev 70699)
@@ -16,6 +16,7 @@
import sys
import os
from pkg_resources import resource_listdir, resource_exists, resource_string
+import persistent
from zope.dottedname.resolve import resolve
from zope import component
from zope import interface
@@ -30,7 +31,7 @@
TextDirective, InterfaceOrClassDirective)
-class Model(object):
+class Model(persistent.Persistent):
pass
class Adapter(object):
Modified: grok/trunk/src/grok/tests/test_grok.py
===================================================================
--- grok/trunk/src/grok/tests/test_grok.py 2006-10-16 15:24:16 UTC (rev 70698)
+++ grok/trunk/src/grok/tests/test_grok.py 2006-10-16 15:34:09 UTC (rev 70699)
@@ -1,15 +1,47 @@
import unittest
from pkg_resources import resource_listdir
from zope.testing import doctest, cleanup
+from zope.app.testing.functional import HTTPCaller, getRootFolder, FunctionalTestSetup, sync, Functional
-def tearDown(test):
+
+def FunctionalDocTestSuite(*paths, **kw):
+ globs = kw.setdefault('globs', {})
+ globs['http'] = HTTPCaller()
+ globs['getRootFolder'] = getRootFolder
+ globs['sync'] = sync
+
+ #kw['package'] = doctest._normalize_module(kw.get('package'))
+
+ kwsetUp = kw.get('setUp')
+ def setUp(test):
+ FunctionalTestSetup().setUp()
+
+ if kwsetUp is not None:
+ kwsetUp(test)
+ kw['setUp'] = setUp
+
+ kwtearDown = kw.get('tearDown')
+ def tearDown(test):
+ if kwtearDown is not None:
+ kwtearDown(test)
+ FunctionalTestSetup().tearDown()
+ kw['tearDown'] = tearDown
+
+ if 'optionflags' not in kw:
+ old = doctest.set_unittest_reportflags(0)
+ doctest.set_unittest_reportflags(old)
+ kw['optionflags'] = (old
+ | doctest.ELLIPSIS
+ | doctest.REPORT_NDIFF
+ | doctest.NORMALIZE_WHITESPACE)
+
+ suite = doctest.DocTestSuite(*paths, **kw)
+ suite.layer = Functional
+ return suite
+
+def cleanUpZope(test):
cleanup.cleanUp()
-def grokTestSuite(pkg):
- return doctest.DocTestSuite(pkg, tearDown=tearDown,
- optionflags=doctest.ELLIPSIS+
- doctest.NORMALIZE_WHITESPACE)
-
def suiteFromPackage(name):
files = resource_listdir(__name__, name)
suite = unittest.TestSuite()
@@ -20,8 +52,16 @@
continue
if filename == '__init__.py':
continue
+
dottedname = 'grok.tests.%s.%s' % (name, filename[:-3])
- suite.addTest(grokTestSuite(dottedname))
+ if filename.startswith("functional_"):
+ test = FunctionalDocTestSuite(dottedname)
+ else:
+ test = doctest.DocTestSuite(dottedname, tearDown=cleanUpZope,
+ optionflags=doctest.ELLIPSIS+
+ doctest.NORMALIZE_WHITESPACE)
+
+ suite.addTest(test)
return suite
def test_suite():
More information about the Checkins
mailing list