[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