[Erp5-report] r42875 rafael - in /erp5/trunk/utils/erp5.recipe.btrepository: ./ src/erp5/re...

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Feb 1 08:41:04 CET 2011


Author: rafael
Date: Tue Feb  1 08:41:03 2011
New Revision: 42875

URL: http://svn.erp5.org?rev=42875&view=rev
Log:
Added doctests.

Added:
    erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/doctest.txt   (with props)
    erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/tests.py
Removed:
    erp5/trunk/utils/erp5.recipe.btrepository/TODO.txt
Modified:
    erp5/trunk/utils/erp5.recipe.btrepository/setup.py

Removed: erp5/trunk/utils/erp5.recipe.btrepository/TODO.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.btrepository/TODO.txt?rev=42874&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.btrepository/TODO.txt [utf8] (original)
+++ erp5/trunk/utils/erp5.recipe.btrepository/TODO.txt (removed)
@@ -1,5 +0,0 @@
-To Do
-======
-
- - Split erp5.recipe.btrepository into recipe and library available outside buildout.
- - Write tests

Modified: erp5/trunk/utils/erp5.recipe.btrepository/setup.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.btrepository/setup.py?rev=42875&r1=42874&r2=42875&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.recipe.btrepository/setup.py [utf8] (original)
+++ erp5/trunk/utils/erp5.recipe.btrepository/setup.py [utf8] Tue Feb  1 08:41:03 2011
@@ -33,4 +33,6 @@ setup(
   include_package_data = True,
   install_requires = ['setuptools', 'zc.recipe.egg', "erp5.utils.dists"],
   entry_points = {'zc.buildout': ['default = %s:Recipe' % name]},
+  tests_require=['zope.testing',],
+  test_suite='%s.tests.test_suite' % name,
   )

Added: erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/doctest.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/doctest.txt?rev=42875&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/doctest.txt (added)
+++ erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/doctest.txt [utf8] Tue Feb  1 08:41:03 2011
@@ -0,0 +1,40 @@
+>>> import os
+>>> write(sample_buildout, 'buildout.cfg',
+... """
+... [buildout]
+... parts = bt5
+... 
+... [bt5]
+... recipe = erp5.recipe.btrepository
+... url =
+...   https://svn.erp5.org/repos/public/erp5/trunk/products/ERP5/bootstrap/
+...   https://svn.erp5.org/repos/public/erp5/trunk/bt5
+... """)
+>>> print system(buildout),
+Upgraded:
+  setuptools version 0.6c11;
+restarting.
+Installing bt5.
+Generated script 'bin/bt5_update'.
+>>> cat('bin/bt5_update') # doctest: +NORMALIZE_WHITESPACE
+#!/system_python
+<BLANKLINE>
+import sys
+sys.path[0:0] = [
+    '/home/rafael/erp5/express/erp5.recipe.btrepository/erp5.recipe.btrepository/src',
+    '/usr/lib/python2.6/site-packages/erp5.utils.dists-0.0.1-py2.6.egg',
+    '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg',
+    '/usr/lib/python2.6/site-packages/zc.recipe.egg-1.2.3b2-py2.6.egg',
+    '/sample-buildout/eggs/zc.buildout-1.5.2-py2.6.egg',
+    ]
+<BLANKLINE>
+<BLANKLINE>
+import erp5.recipe.btrepository.repository
+<BLANKLINE>
+if __name__ == '__main__':
+    erp5.recipe.btrepository.repository.main(
+        url_list = ['https://svn.erp5.org/repos/public/erp5/trunk/products/ERP5/bootstrap/', 'https://svn.erp5.org/repos/public/erp5/trunk/bt5'] ,
+        destination = '/sample-buildout/parts/bt5' ,
+        download_dir = '/sample-buildout/parts/bt5__download__',
+        download_cmd = 'svn co --trust-server-cert --non-interactive --quiet ',
+        preserve_download = 1 )

Propchange: erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/doctest.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/tests.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/tests.py?rev=42875&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/tests.py (added)
+++ erp5/trunk/utils/erp5.recipe.btrepository/src/erp5/recipe/btrepository/tests.py [utf8] Tue Feb  1 08:41:03 2011
@@ -0,0 +1,49 @@
+##############################################################################
+#
+# Copyright (c) 2010 Nexedi SA and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+from zope.testing import renormalizing
+import doctest
+import pkg_resources
+import re
+import sys
+import unittest
+import zc.buildout
+import zc.buildout.testing
+import zc.buildout.tests
+
+def setUp(test):
+  zc.buildout.testing.buildoutSetUp(test)
+  zc.buildout.testing.install_develop('erp5.recipe.btrepository', test)
+
+def test_suite():
+  # Note: Doctests are used, as this is the good way to test zc.buildout based
+  #       applications. And zc.buildout.testing.buildoutSetUp does *NOT* support
+  #       non-doctest suites
+  kwargs = dict(setUp=setUp,
+      tearDown=zc.buildout.testing.buildoutTearDown,
+      checker=renormalizing.RENormalizing([
+                        (re.compile('--prefix=\S+sample-buildout'),
+                         '--prefix=/sample_buildout'),
+                        (re.compile('\s/\S+sample-buildout'),
+                         ' /sample_buildout'),
+                        (re.compile(sys.executable),
+                         '/system_python'),
+                        zc.buildout.testing.normalize_path,
+                        ]),
+    )
+  test_list = []
+  for text in pkg_resources.resource_listdir(__name__, '.'):
+    if text.endswith('.txt'):
+      test_list.append(doctest.DocFileSuite(text, **kwargs))
+  suite = unittest.TestSuite(test_list)
+  return suite



More information about the Erp5-report mailing list