[Erp5-report] r37857 luke - in /erp5/trunk/utils/erp5.recipe.mysqlserver: ./ src/erp5/recip...

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Aug 17 10:29:43 CEST 2010


Author: luke
Date: Tue Aug 17 10:29:41 2010
New Revision: 37857

URL: http://svn.erp5.org?rev=37857&view=rev
Log:
 - add doctesting buildout API tests

Added:
    erp5/trunk/utils/erp5.recipe.mysqlserver/src/erp5/recipe/mysqlserver/doctest.txt   (with props)
    erp5/trunk/utils/erp5.recipe.mysqlserver/src/erp5/recipe/mysqlserver/tests.py
Modified:
    erp5/trunk/utils/erp5.recipe.mysqlserver/CHANGES.txt
    erp5/trunk/utils/erp5.recipe.mysqlserver/setup.py

Modified: erp5/trunk/utils/erp5.recipe.mysqlserver/CHANGES.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.mysqlserver/CHANGES.txt?rev=37857&r1=37856&r2=37857&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.recipe.mysqlserver/CHANGES.txt [utf8] (original)
+++ erp5/trunk/utils/erp5.recipe.mysqlserver/CHANGES.txt [utf8] Tue Aug 17 10:29:41 2010
@@ -1,6 +1,12 @@
 Changelog
 =========
 
+unrelased (unrelased)
+---------------------
+
+- Add doctest based buildout testing reusing buildout testing API.
+  [Lukasz Nowak]
+
 1.1.6 (2010-08-13)
 ------------------
 

Modified: erp5/trunk/utils/erp5.recipe.mysqlserver/setup.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.mysqlserver/setup.py?rev=37857&r1=37856&r2=37857&view=diff
==============================================================================
--- erp5/trunk/utils/erp5.recipe.mysqlserver/setup.py [utf8] (original)
+++ erp5/trunk/utils/erp5.recipe.mysqlserver/setup.py [utf8] Tue Aug 17 10:29:41 2010
@@ -30,4 +30,5 @@ setup(
     install_requires = ['zc.recipe.egg', 'setuptools'],
     namespace_packages = ['erp5', 'erp5.recipe'],
     entry_points = {'zc.buildout': ['default = %s:Recipe' % name]},
+    test_suite = 'erp5.recipe.mysqlserver.tests',
     )

Added: erp5/trunk/utils/erp5.recipe.mysqlserver/src/erp5/recipe/mysqlserver/doctest.txt
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.mysqlserver/src/erp5/recipe/mysqlserver/doctest.txt?rev=37857&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.mysqlserver/src/erp5/recipe/mysqlserver/doctest.txt (added)
+++ erp5/trunk/utils/erp5.recipe.mysqlserver/src/erp5/recipe/mysqlserver/doctest.txt [utf8] Tue Aug 17 10:29:41 2010
@@ -0,0 +1,39 @@
+>>> import os
+>>> mkdir(sample_buildout, 'mysqlbin')
+>>> mkdir(sample_buildout, 'mysqlsoftware')
+>>> write(sample_buildout, 'mysqlsoftware', 'mysqld_safe',
+... """#!/bin/sh
+... echo $@
+... """)
+>>> os.chmod(os.path.join(sample_buildout, 'mysqlsoftware', 'mysqld_safe'), 0755)
+>>> mkdir(sample_buildout, 'mysqldata')
+>>> mkdir(sample_buildout, 'mysqldata', 'ibdata1')
+>>> write(sample_buildout, 'buildout.cfg',
+... """
+... [buildout]
+... parts = default-server
+...
+... [default-server]
+... recipe = erp5.recipe.mysqlserver
+... mysql_software_bin = %(mysqlsoftware)s
+... mysql_bin_folder = %(mysqlbin)s
+... mysql_datadir = %(mysqldata)s
+... mysql_cnf_file = mysql_cnf_file
+... mysql_port = mysql_port
+... mysql_sock = mysql_sock
+... mysql_pid = mysql_pid
+... mysql_error_log = mysql_error_log
+... mysql_slow_query_log = mysql_slow_query_log
+... mysql_slow_query_time = mysql_slow_query_time
+... mysql_host = mysql_host
+... mysqld-extra-configuration = mysqld-extra-configuration
+... """ % dict(mysqlbin=os.path.join(sample_buildout, 'mysqlbin'),mysqldata=os.path.join(sample_buildout, 'mysqldata'), mysqlsoftware=os.path.join(sample_buildout, 'mysqlsoftware')))
+>>> print system(buildout),
+Installing default-server.
+Generated script '/sample-buildout/mysqlbin/mysql'.
+Generated script '/sample-buildout/mysqlbin/mysqld_safe'.
+Generated script '/sample-buildout/mysqlbin/mysqladmin'.
+Generated script '/sample-buildout/mysqlbin/mysqldump'.
+Unused options for default-server: 'mysql_slow_query_log' 'mysqld-extra-configuration' 'mysql_host' 'mysql_sock' 'mysql_pid' 'mysql_port' 'mysql_slow_query_time' 'mysql_error_log'.
+>>> print system(os.path.join(sample_buildout, 'mysqlbin', 'mysqld_safe')),
+--defaults-file=mysql_cnf_file

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

Added: erp5/trunk/utils/erp5.recipe.mysqlserver/src/erp5/recipe/mysqlserver/tests.py
URL: http://svn.erp5.org/erp5/trunk/utils/erp5.recipe.mysqlserver/src/erp5/recipe/mysqlserver/tests.py?rev=37857&view=auto
==============================================================================
--- erp5/trunk/utils/erp5.recipe.mysqlserver/src/erp5/recipe/mysqlserver/tests.py (added)
+++ erp5/trunk/utils/erp5.recipe.mysqlserver/src/erp5/recipe/mysqlserver/tests.py [utf8] Tue Aug 17 10:29:41 2010
@@ -0,0 +1,31 @@
+from zope.testing import doctest
+from zope.testing import renormalizing
+import unittest
+import zc.buildout
+import zc.buildout.testing
+import zc.buildout.tests
+import re
+
+def setUp(test):
+  zc.buildout.testing.buildoutSetUp(test)
+  zc.buildout.testing.install_develop('zc.recipe.egg', test)
+  zc.buildout.testing.install_develop('erp5.recipe.mysqlserver', test)
+
+def test_suite():
+  suite = unittest.TestSuite((
+      doctest.DocFileSuite(
+      'doctest.txt',
+      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'),
+                        zc.buildout.testing.normalize_path,
+                        ]),
+    )))
+  return suite
+
+if __name__ == '__main__':
+  unittest.main(defaultTest='test_suite')




More information about the Erp5-report mailing list