[Zope-dev] [Checkins] SVN: zc.recipe.testrunner/trunk/src/zc/recipe/testrunner/README.txt made doctest sections from the literal sections

Benji York benji at zope.com
Mon Aug 25 09:25:50 EDT 2008


On Mon, Aug 25, 2008 at 6:24 AM, Michael Howitz <mh at gocept.com> wrote:
> Log message for revision 90184:
>  made doctest sections from the literal sections

Thanks for removing the unneccesary -- and inappropriate -- double
colons.  However, for better or worse, the nearly universal style in
zope.* code is to indent doctest blocks in stand-alone text files, so
please restore the previous indentation.

Thanks.

>
> Changed:
>  U   zc.recipe.testrunner/trunk/src/zc/recipe/testrunner/README.txt
>
> -=-
> Modified: zc.recipe.testrunner/trunk/src/zc/recipe/testrunner/README.txt
> ===================================================================
> --- zc.recipe.testrunner/trunk/src/zc/recipe/testrunner/README.txt      2008-08-25 09:41:43 UTC (rev 90183)
> +++ zc.recipe.testrunner/trunk/src/zc/recipe/testrunner/README.txt      2008-08-25 10:24:35 UTC (rev 90184)
> @@ -38,259 +38,259 @@
>  distributions cannot be zip files. TODO: Fix the test runner!)
>
>  To illustrate this, we'll create a pair of projects in our sample
> -buildout::
> +buildout:
>
> -    >>> mkdir(sample_buildout, 'demo')
> -    >>> mkdir(sample_buildout, 'demo', 'demo')
> -    >>> write(sample_buildout, 'demo', 'demo', '__init__.py', '')
> -    >>> write(sample_buildout, 'demo', 'demo', 'tests.py',
> -    ... '''
> -    ... import unittest
> -    ...
> -    ... class TestDemo(unittest.TestCase):
> -    ...    def test(self):
> -    ...        pass
> -    ...
> -    ... def test_suite():
> -    ...     return unittest.makeSuite(TestDemo)
> -    ... ''')
> +>>> mkdir(sample_buildout, 'demo')
> +>>> mkdir(sample_buildout, 'demo', 'demo')
> +>>> write(sample_buildout, 'demo', 'demo', '__init__.py', '')
> +>>> write(sample_buildout, 'demo', 'demo', 'tests.py',
> +... '''
> +... import unittest
> +...
> +... class TestDemo(unittest.TestCase):
> +...    def test(self):
> +...        pass
> +...
> +... def test_suite():
> +...     return unittest.makeSuite(TestDemo)
> +... ''')
>
> -    >>> write(sample_buildout, 'demo', 'setup.py',
> -    ... """
> -    ... from setuptools import setup
> -    ...
> -    ... setup(name = "demo")
> -    ... """)
> +>>> write(sample_buildout, 'demo', 'setup.py',
> +... """
> +... from setuptools import setup
> +...
> +... setup(name = "demo")
> +... """)
>
> -    >>> write(sample_buildout, 'demo', 'README.txt', '')
> +>>> write(sample_buildout, 'demo', 'README.txt', '')
>
> -    >>> mkdir(sample_buildout, 'demo2')
> -    >>> mkdir(sample_buildout, 'demo2', 'demo2')
> -    >>> write(sample_buildout, 'demo2', 'demo2', '__init__.py', '')
> -    >>> write(sample_buildout, 'demo2', 'demo2', 'tests.py',
> -    ... '''
> -    ... import unittest
> -    ...
> -    ... class Demo2Tests(unittest.TestCase):
> -    ...    def test2(self):
> -    ...        pass
> -    ...
> -    ... def test_suite():
> -    ...     return unittest.makeSuite(Demo2Tests)
> -    ... ''')
> +>>> mkdir(sample_buildout, 'demo2')
> +>>> mkdir(sample_buildout, 'demo2', 'demo2')
> +>>> write(sample_buildout, 'demo2', 'demo2', '__init__.py', '')
> +>>> write(sample_buildout, 'demo2', 'demo2', 'tests.py',
> +... '''
> +... import unittest
> +...
> +... class Demo2Tests(unittest.TestCase):
> +...    def test2(self):
> +...        pass
> +...
> +... def test_suite():
> +...     return unittest.makeSuite(Demo2Tests)
> +... ''')
>
> -    >>> write(sample_buildout, 'demo2', 'setup.py',
> -    ... """
> -    ... from setuptools import setup
> -    ...
> -    ... setup(name = "demo2", install_requires= ['demoneeded'])
> -    ... """)
> +>>> write(sample_buildout, 'demo2', 'setup.py',
> +... """
> +... from setuptools import setup
> +...
> +... setup(name = "demo2", install_requires= ['demoneeded'])
> +... """)
>
> -    >>> write(sample_buildout, 'demo2', 'README.txt', '')
> +>>> write(sample_buildout, 'demo2', 'README.txt', '')
>
> -Demo 2 depends on demoneeded::
> +Demo 2 depends on demoneeded:
>
> -    >>> mkdir(sample_buildout, 'demoneeded')
> -    >>> mkdir(sample_buildout, 'demoneeded', 'demoneeded')
> -    >>> write(sample_buildout, 'demoneeded', 'demoneeded', '__init__.py', '')
> -    >>> write(sample_buildout, 'demoneeded', 'demoneeded', 'tests.py',
> -    ... '''
> -    ... import unittest
> -    ...
> -    ... class TestNeeded(unittest.TestCase):
> -    ...    def test_needed(self):
> -    ...        pass
> -    ...
> -    ... def test_suite():
> -    ...     return unittest.makeSuite(TestNeeded)
> -    ... ''')
> +>>> mkdir(sample_buildout, 'demoneeded')
> +>>> mkdir(sample_buildout, 'demoneeded', 'demoneeded')
> +>>> write(sample_buildout, 'demoneeded', 'demoneeded', '__init__.py', '')
> +>>> write(sample_buildout, 'demoneeded', 'demoneeded', 'tests.py',
> +... '''
> +... import unittest
> +...
> +... class TestNeeded(unittest.TestCase):
> +...    def test_needed(self):
> +...        pass
> +...
> +... def test_suite():
> +...     return unittest.makeSuite(TestNeeded)
> +... ''')
>
> -    >>> write(sample_buildout, 'demoneeded', 'setup.py',
> -    ... """
> -    ... from setuptools import setup
> -    ...
> -    ... setup(name = "demoneeded")
> -    ... """)
> +>>> write(sample_buildout, 'demoneeded', 'setup.py',
> +... """
> +... from setuptools import setup
> +...
> +... setup(name = "demoneeded")
> +... """)
>
> -    >>> write(sample_buildout, 'demoneeded', 'README.txt', '')
> +>>> write(sample_buildout, 'demoneeded', 'README.txt', '')
>
>  We'll update our buildout to install the demo project as a
> -develop egg and to create the test script::
> +develop egg and to create the test script:
>
> -    >>> write(sample_buildout, 'buildout.cfg',
> -    ... """
> -    ... [buildout]
> -    ... develop = demo demoneeded demo2
> -    ... parts = testdemo
> -    ... offline = true
> -    ...
> -    ... [testdemo]
> -    ... recipe = zc.recipe.testrunner
> -    ... eggs =
> -    ...    demo
> -    ...    demo2
> -    ... script = test
> -    ... """)
> +>>> write(sample_buildout, 'buildout.cfg',
> +... """
> +... [buildout]
> +... develop = demo demoneeded demo2
> +... parts = testdemo
> +... offline = true
> +...
> +... [testdemo]
> +... recipe = zc.recipe.testrunner
> +... eggs =
> +...    demo
> +...    demo2
> +... script = test
> +... """)
>
>  Note that we specified both demo and demo2 in the eggs
>  option and that we put them on separate lines.
>
>  We also specified the offline option to run the buildout in offline mode.
>
> -Now when we run the buildout::
> +Now when we run the buildout:
>
> -    >>> import os
> -    >>> os.chdir(sample_buildout)
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
> +>>> import os
> +>>> os.chdir(sample_buildout)
> +>>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
>
> -We get a test script installed in our bin directory::
> +We get a test script installed in our bin directory:
>
> -    >>> ls(sample_buildout, 'bin')
> -    -  buildout
> -    -  test
> +>>> ls(sample_buildout, 'bin')
> +-  buildout
> +-  test
>
> -We also get a part directory for the tests to run in::
> +We also get a part directory for the tests to run in:
>
> -    >>> ls(sample_buildout, 'parts')
> -    d  testdemo
> +>>> ls(sample_buildout, 'parts')
> +d  testdemo
>
> -And updating leaves its contents intact::
> +And updating leaves its contents intact:
>
> -    >>> _ = system(os.path.join(sample_buildout, 'bin', 'test') +
> -    ...            ' -q --coverage=coverage')
> -    >>> ls(sample_buildout, 'parts', 'testdemo')
> -    d  coverage
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
> -    >>> ls(sample_buildout, 'parts', 'testdemo')
> -    d  coverage
> +>>> _ = system(os.path.join(sample_buildout, 'bin', 'test') +
> +...            ' -q --coverage=coverage')
> +>>> ls(sample_buildout, 'parts', 'testdemo')
> +d  coverage
> +>>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
> +>>> ls(sample_buildout, 'parts', 'testdemo')
> +d  coverage
>
> -We can run the test script to run our demo test::
> +We can run the test script to run our demo test:
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'test') + ' -vv'),
> -    Running tests at level 1
> -    Running unit tests:
> -      Running:
> -     test (demo.tests.TestDemo)
> -     test2 (demo2.tests.Demo2Tests)
> -      Ran 2 tests with 0 failures and 0 errors in 0.000 seconds.
> +>>> print system(os.path.join(sample_buildout, 'bin', 'test') + ' -vv'),
> +Running tests at level 1
> +Running unit tests:
> +  Running:
> + test (demo.tests.TestDemo)
> + test2 (demo2.tests.Demo2Tests)
> +  Ran 2 tests with 0 failures and 0 errors in 0.000 seconds.
>
>  Note that we didn't run the demoneeded tests.  Tests are only run for
>  the eggs listed, not for their dependencies.
>
>  If we leave the script option out of the configuration, then the test
> -script will get it's name from the part::
> +script will get it's name from the part:
>
> -    >>> write(sample_buildout, 'buildout.cfg',
> -    ... """
> -    ... [buildout]
> -    ... develop = demo
> -    ... parts = testdemo
> -    ... offline = true
> -    ...
> -    ... [testdemo]
> -    ... recipe = zc.recipe.testrunner
> -    ... eggs = demo
> -    ... """)
> +>>> write(sample_buildout, 'buildout.cfg',
> +... """
> +... [buildout]
> +... develop = demo
> +... parts = testdemo
> +... offline = true
> +...
> +... [testdemo]
> +... recipe = zc.recipe.testrunner
> +... eggs = demo
> +... """)
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
> +>>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
>
> -    >>> ls(sample_buildout, 'bin')
> -    -  buildout
> -    -  testdemo
> +>>> ls(sample_buildout, 'bin')
> +-  buildout
> +-  testdemo
>
> -We can run the test script to run our demo test::
> +We can run the test script to run our demo test:
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'testdemo') + ' -q'),
> -    Running unit tests:
> -      Ran 1 tests with 0 failures and 0 errors in 0.000 seconds.
> +>>> print system(os.path.join(sample_buildout, 'bin', 'testdemo') + ' -q'),
> +Running unit tests:
> +  Ran 1 tests with 0 failures and 0 errors in 0.000 seconds.
>
>  If we need to include other paths in our test script, we can use the
> -extra-paths option to specify them::
> +extra-paths option to specify them:
>
> -    >>> write(sample_buildout, 'buildout.cfg',
> -    ... """
> -    ... [buildout]
> -    ... develop = demo
> -    ... parts = testdemo
> -    ... offline = true
> -    ...
> -    ... [testdemo]
> -    ... recipe = zc.recipe.testrunner
> -    ... eggs = demo
> -    ... extra-paths = /usr/local/zope/lib/python
> -    ... """)
> +>>> write(sample_buildout, 'buildout.cfg',
> +... """
> +... [buildout]
> +... develop = demo
> +... parts = testdemo
> +... offline = true
> +...
> +... [testdemo]
> +... recipe = zc.recipe.testrunner
> +... eggs = demo
> +... extra-paths = /usr/local/zope/lib/python
> +... """)
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
> +>>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
>
> -    >>> cat(sample_buildout, 'bin', 'testdemo') # doctest: +REPORT_NDIFF
> -    #!/usr/local/bin/python2.4
> -    <BLANKLINE>
> -    import sys
> -    sys.path[0:0] = [
> -      '/sample-buildout/demo',
> -      '/sample-buildout/eggs/zope.testing-3.0-py2.3.egg',
> -      '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> -      '/usr/local/zope/lib/python',
> -      ]
> -    <BLANKLINE>
> -    import os
> -    sys.argv[0] = os.path.abspath(sys.argv[0])
> -    os.chdir('/sample-buildout/parts/testdemo')
> -    <BLANKLINE>
> -    <BLANKLINE>
> -    import zope.testing.testrunner
> -    <BLANKLINE>
> -    if __name__ == '__main__':
> -        zope.testing.testrunner.run([
> -      '--test-path', '/sample-buildout/demo',
> -      ])
> +>>> cat(sample_buildout, 'bin', 'testdemo') # doctest: +REPORT_NDIFF
> +#!/usr/local/bin/python2.4
> +<BLANKLINE>
> +import sys
> +sys.path[0:0] = [
> +  '/sample-buildout/demo',
> +  '/sample-buildout/eggs/zope.testing-3.0-py2.3.egg',
> +  '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> +  '/usr/local/zope/lib/python',
> +  ]
> +<BLANKLINE>
> +import os
> +sys.argv[0] = os.path.abspath(sys.argv[0])
> +os.chdir('/sample-buildout/parts/testdemo')
> +<BLANKLINE>
> +<BLANKLINE>
> +import zope.testing.testrunner
> +<BLANKLINE>
> +if __name__ == '__main__':
> +    zope.testing.testrunner.run([
> +  '--test-path', '/sample-buildout/demo',
> +  ])
>
>  We can use the working-directory option to specify a working
> -directory::
> +directory:
>
> -    >>> write(sample_buildout, 'buildout.cfg',
> -    ... """
> -    ... [buildout]
> -    ... develop = demo
> -    ... parts = testdemo
> -    ... offline = true
> -    ...
> -    ... [testdemo]
> -    ... recipe = zc.recipe.testrunner
> -    ... eggs = demo
> -    ... extra-paths = /usr/local/zope/lib/python
> -    ... working-directory = /foo/bar
> -    ... """)
> +>>> write(sample_buildout, 'buildout.cfg',
> +... """
> +... [buildout]
> +... develop = demo
> +... parts = testdemo
> +... offline = true
> +...
> +... [testdemo]
> +... recipe = zc.recipe.testrunner
> +... eggs = demo
> +... extra-paths = /usr/local/zope/lib/python
> +... working-directory = /foo/bar
> +... """)
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
> +>>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
>
> -    >>> cat(sample_buildout, 'bin', 'testdemo') # doctest: +REPORT_NDIFF
> -    #!/usr/local/bin/python2.4
> -    <BLANKLINE>
> -    import sys
> -    sys.path[0:0] = [
> -      '/sample-buildout/demo',
> -      '/sample-buildout/eggs/zope.testing-3.0-py2.3.egg',
> -      '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> -      '/usr/local/zope/lib/python',
> -      ]
> -    <BLANKLINE>
> -    import os
> -    sys.argv[0] = os.path.abspath(sys.argv[0])
> -    os.chdir('/foo/bar')
> -    <BLANKLINE>
> -    <BLANKLINE>
> -    import zope.testing.testrunner
> -    <BLANKLINE>
> -    if __name__ == '__main__':
> -        zope.testing.testrunner.run([
> -      '--test-path', '/sample-buildout/demo',
> -      ])
> +>>> cat(sample_buildout, 'bin', 'testdemo') # doctest: +REPORT_NDIFF
> +#!/usr/local/bin/python2.4
> +<BLANKLINE>
> +import sys
> +sys.path[0:0] = [
> +  '/sample-buildout/demo',
> +  '/sample-buildout/eggs/zope.testing-3.0-py2.3.egg',
> +  '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> +  '/usr/local/zope/lib/python',
> +  ]
> +<BLANKLINE>
> +import os
> +sys.argv[0] = os.path.abspath(sys.argv[0])
> +os.chdir('/foo/bar')
> +<BLANKLINE>
> +<BLANKLINE>
> +import zope.testing.testrunner
> +<BLANKLINE>
> +if __name__ == '__main__':
> +    zope.testing.testrunner.run([
> +  '--test-path', '/sample-buildout/demo',
> +  ])
>
>  Now that out tests use a specified working directory, their designated
> -part directory is gone::
> +part directory is gone:
>
> -    >>> ls(sample_buildout, 'parts')
> +>>> ls(sample_buildout, 'parts')
>
>  If we need to specify default options, we can use the defaults
>  option. For example, Zope 3 applications typically define test suites
> @@ -298,50 +298,50 @@
>  is to look in modules named tests.  To specify that we want to look in
>  tests and ftests module, we'd supply a default for the --tests-pattern
>  option.  If we like dots, we could also request more verbose output
> -using the -v option::
> +using the -v option:
>
> -    >>> write(sample_buildout, 'buildout.cfg',
> -    ... """
> -    ... [buildout]
> -    ... develop = demo
> -    ... parts = testdemo
> -    ... offline = true
> -    ...
> -    ... [testdemo]
> -    ... recipe = zc.recipe.testrunner
> -    ... eggs = demo
> -    ... extra-paths = /usr/local/zope/lib/python
> -    ... defaults = ['--tests-pattern', '^f?tests$',
> -    ...             '-v'
> -    ...            ]
> -    ... """)
> +>>> write(sample_buildout, 'buildout.cfg',
> +... """
> +... [buildout]
> +... develop = demo
> +... parts = testdemo
> +... offline = true
> +...
> +... [testdemo]
> +... recipe = zc.recipe.testrunner
> +... eggs = demo
> +... extra-paths = /usr/local/zope/lib/python
> +... defaults = ['--tests-pattern', '^f?tests$',
> +...             '-v'
> +...            ]
> +... """)
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
> +>>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
>
> -    >>> cat(sample_buildout, 'bin', 'testdemo')
> -    #!/usr/local/bin/python2.4
> -    <BLANKLINE>
> -    import sys
> -    sys.path[0:0] = [
> -      '/sample-buildout/demo',
> -      '/sample-buildout/eggs/zope.testing-3.0-py2.4.egg',
> -      '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> -      '/usr/local/zope/lib/python',
> -      ]
> -    <BLANKLINE>
> -    import os
> -    sys.argv[0] = os.path.abspath(sys.argv[0])
> -    os.chdir('/sample-buildout/parts/testdemo')
> -    <BLANKLINE>
> -    <BLANKLINE>
> -    import zope.testing.testrunner
> -    <BLANKLINE>
> -    if __name__ == '__main__':
> -        zope.testing.testrunner.run((['--tests-pattern', '^f?tests$',
> -    '-v'
> -    ]) + [
> -      '--test-path', '/sample-buildout/demo',
> -      ])
> +>>> cat(sample_buildout, 'bin', 'testdemo')
> +#!/usr/local/bin/python2.4
> +<BLANKLINE>
> +import sys
> +sys.path[0:0] = [
> +  '/sample-buildout/demo',
> +  '/sample-buildout/eggs/zope.testing-3.0-py2.4.egg',
> +  '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> +  '/usr/local/zope/lib/python',
> +  ]
> +<BLANKLINE>
> +import os
> +sys.argv[0] = os.path.abspath(sys.argv[0])
> +os.chdir('/sample-buildout/parts/testdemo')
> +<BLANKLINE>
> +<BLANKLINE>
> +import zope.testing.testrunner
> +<BLANKLINE>
> +if __name__ == '__main__':
> +    zope.testing.testrunner.run((['--tests-pattern', '^f?tests$',
> +'-v'
> +]) + [
> +  '--test-path', '/sample-buildout/demo',
> +  ])
>
>  Some things to note from this example:
>
> @@ -351,188 +351,187 @@
>
>
>  To demonstrate the ``environment`` option, we first update the tests to
> -include a check for an environment variable::
> +include a check for an environment variable:
>
> -    >>> write(sample_buildout, 'demo', 'demo', 'tests.py',
> -    ... '''
> -    ... import unittest
> -    ... import os
> -    ...
> -    ... class DemoTests(unittest.TestCase):
> -    ...    def test(self):
> -    ...        self.assertEquals('42', os.environ.get('zc.recipe.testrunner', '23'))
> -    ...
> -    ... def test_suite():
> -    ...     return unittest.makeSuite(DemoTests)
> -    ... ''')
> +>>> write(sample_buildout, 'demo', 'demo', 'tests.py',
> +... '''
> +... import unittest
> +... import os
> +...
> +... class DemoTests(unittest.TestCase):
> +...    def test(self):
> +...        self.assertEquals('42', os.environ.get('zc.recipe.testrunner', '23'))
> +...
> +... def test_suite():
> +...     return unittest.makeSuite(DemoTests)
> +... ''')
>
> -Running them with the current buildout will produce a failure::
> +Running them with the current buildout will produce a failure:
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'testdemo') + ' -vv'), # doctest: +REPORT_NDIFF +ELLIPSIS
> -    Running tests at level 1
> -    Running unit tests:
> -      Running:
> -     test (demo.tests.DemoTests)
> -    <BLANKLINE>
> -    Failure in test test (demo.tests.DemoTests)
> -    Traceback (most recent call last):
> -      ...
> -        raise self.failureException, \
> -    AssertionError: '42' != '23'
> -    <BLANKLINE>
> -    <BLANKLINE>
> -      Ran 1 tests with 1 failures and 0 errors in 0.001 seconds.
> -    <BLANKLINE>
> -    Tests with failures:
> -       test (demo.tests.DemoTests)
> +>>> print system(os.path.join(sample_buildout, 'bin', 'testdemo') + ' -vv'), # doctest: +REPORT_NDIFF +ELLIPSIS
> +Running tests at level 1
> +Running unit tests:
> +  Running:
> + test (demo.tests.DemoTests)
> +<BLANKLINE>
> +Failure in test test (demo.tests.DemoTests)
> +Traceback (most recent call last):
> +  ...
> +    raise self.failureException, \
> +AssertionError: '42' != '23'
> +<BLANKLINE>
> +<BLANKLINE>
> +  Ran 1 tests with 1 failures and 0 errors in 0.001 seconds.
> +<BLANKLINE>
> +Tests with failures:
> +   test (demo.tests.DemoTests)
>
>
>  Let's update the buildout to specify the environment variable for the test
> -runner::
> +runner:
>
> -    >>> write(sample_buildout, 'buildout.cfg',
> -    ... """
> -    ... [buildout]
> -    ... develop = demo
> -    ... parts = testdemo
> -    ... offline = true
> -    ...
> -    ... [testdemo]
> -    ... recipe = zc.recipe.testrunner
> -    ... eggs = demo
> -    ... environment = testenv
> -    ...
> -    ... [testenv]
> -    ... zc.recipe.testrunner = 42
> -    ... """)
> +>>> write(sample_buildout, 'buildout.cfg',
> +... """
> +... [buildout]
> +... develop = demo
> +... parts = testdemo
> +... offline = true
> +...
> +... [testdemo]
> +... recipe = zc.recipe.testrunner
> +... eggs = demo
> +... environment = testenv
> +...
> +... [testenv]
> +... zc.recipe.testrunner = 42
> +... """)
>
>  We run buildout and see that the test runner script now includes setting up
> -the environment variable. Also, the tests pass again::
> +the environment variable. Also, the tests pass again:
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
> +>>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
>
> -    >>> cat(sample_buildout, 'bin', 'testdemo') # doctest: +REPORT_NDIFF
> -    #!/usr/local/bin/python2.4
> -    <BLANKLINE>
> -    import sys
> -    sys.path[0:0] = [
> -      '/sample-buildout/demo',
> -      '/sample-buildout/eggs/zope.testing-3.0-py2.3.egg',
> -      '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> -      ]
> -    <BLANKLINE>
> -    import os
> -    sys.argv[0] = os.path.abspath(sys.argv[0])
> -    os.chdir('/sample-buildout/parts/testdemo')
> -    os.environ['zc.recipe.testrunner'] = '42'
> -    <BLANKLINE>
> -    <BLANKLINE>
> -    import zope.testing.testrunner
> -    <BLANKLINE>
> -    if __name__ == '__main__':
> -        zope.testing.testrunner.run([
> -      '--test-path', '/sample-buildout/demo',
> -      ])
> +>>> cat(sample_buildout, 'bin', 'testdemo') # doctest: +REPORT_NDIFF
> +#!/usr/local/bin/python2.4
> +<BLANKLINE>
> +import sys
> +sys.path[0:0] = [
> +  '/sample-buildout/demo',
> +  '/sample-buildout/eggs/zope.testing-3.0-py2.3.egg',
> +  '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> +  ]
> +<BLANKLINE>
> +import os
> +sys.argv[0] = os.path.abspath(sys.argv[0])
> +os.chdir('/sample-buildout/parts/testdemo')
> +os.environ['zc.recipe.testrunner'] = '42'
> +<BLANKLINE>
> +<BLANKLINE>
> +import zope.testing.testrunner
> +<BLANKLINE>
> +if __name__ == '__main__':
> +    zope.testing.testrunner.run([
> +  '--test-path', '/sample-buildout/demo',
> +  ])
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'testdemo') + ' -vv'),
> -    Running tests at level 1
> -    Running unit tests:
> -      Running:
> -     test (demo.tests.DemoTests)
> -      Ran 1 tests with 0 failures and 0 errors in 0.001 seconds.
> +>>> print system(os.path.join(sample_buildout, 'bin', 'testdemo') + ' -vv'),
> +Running tests at level 1
> +Running unit tests:
> +  Running:
> + test (demo.tests.DemoTests)
> +  Ran 1 tests with 0 failures and 0 errors in 0.001 seconds.
>
>  One can add initialization steps in the buildout.  These will be added to the
> -end of the script.
> +end of the script:
>
> -    >>> write(sample_buildout, 'buildout.cfg',
> -    ... """
> -    ... [buildout]
> -    ... develop = demo
> -    ... parts = testdemo
> -    ... offline = true
> -    ...
> -    ... [testdemo]
> -    ... recipe = zc.recipe.testrunner
> -    ... eggs = demo
> -    ... extra-paths = /usr/local/zope/lib/python
> -    ... defaults = ['--tests-pattern', '^f?tests$',
> -    ...             '-v'
> -    ...            ]
> -    ... initialization = print 'Hello all you egg-laying pythons!'
> -    ... """)
> +>>> write(sample_buildout, 'buildout.cfg',
> +... """
> +... [buildout]
> +... develop = demo
> +... parts = testdemo
> +... offline = true
> +...
> +... [testdemo]
> +... recipe = zc.recipe.testrunner
> +... eggs = demo
> +... extra-paths = /usr/local/zope/lib/python
> +... defaults = ['--tests-pattern', '^f?tests$',
> +...             '-v'
> +...            ]
> +... initialization = print 'Hello all you egg-laying pythons!'
> +... """)
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
> +>>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
>
> -    >>> cat(sample_buildout, 'bin', 'testdemo') # doctest: +REPORT_NDIFF
> -    #!/usr/local/bin/python2.4
> -    <BLANKLINE>
> -    import sys
> -    sys.path[0:0] = [
> -      '/sample-buildout/demo',
> -      '/sample-buildout/eggs/zope.testing-3.0-py2.3.egg',
> -      '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> -      '/usr/local/zope/lib/python',
> -      ]
> -    <BLANKLINE>
> -    import os
> -    sys.argv[0] = os.path.abspath(sys.argv[0])
> -    os.chdir('/sample-buildout/parts/testdemo')
> -    print 'Hello all you egg-laying pythons!'
> -    <BLANKLINE>
> -    import zope.testing.testrunner
> -    <BLANKLINE>
> -    if __name__ == '__main__':
> -        zope.testing.testrunner.run((['--tests-pattern', '^f?tests$',
> -    '-v'
> -    ]) + [
> -      '--test-path', '/sample-buildout/demo',
> -      ])
> +>>> cat(sample_buildout, 'bin', 'testdemo') # doctest: +REPORT_NDIFF
> +#!/usr/local/bin/python2.4
> +<BLANKLINE>
> +import sys
> +sys.path[0:0] = [
> +  '/sample-buildout/demo',
> +  '/sample-buildout/eggs/zope.testing-3.0-py2.3.egg',
> +  '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> +  '/usr/local/zope/lib/python',
> +  ]
> +<BLANKLINE>
> +import os
> +sys.argv[0] = os.path.abspath(sys.argv[0])
> +os.chdir('/sample-buildout/parts/testdemo')
> +print 'Hello all you egg-laying pythons!'
> +<BLANKLINE>
> +import zope.testing.testrunner
> +<BLANKLINE>
> +if __name__ == '__main__':
> +    zope.testing.testrunner.run((['--tests-pattern', '^f?tests$',
> +'-v'
> +]) + [
> +  '--test-path', '/sample-buildout/demo',
> +  ])
>
> -This will also work with a multi-line initialization section.
> +This will also work with a multi-line initialization section:
>
> -    >>> write(sample_buildout, 'buildout.cfg',
> -    ... """
> -    ... [buildout]
> -    ... develop = demo
> -    ... parts = testdemo
> -    ... offline = true
> -    ...
> -    ... [testdemo]
> -    ... recipe = zc.recipe.testrunner
> -    ... eggs = demo
> -    ... extra-paths = /usr/local/zope/lib/python
> -    ... defaults = ['--tests-pattern', '^f?tests$',
> -    ...             '-v'
> -    ...            ]
> -    ... initialization = print 'Hello all you egg-laying pythons!'
> -    ...                  print 'I thought pythons were live bearers?'
> -    ... """)
> +>>> write(sample_buildout, 'buildout.cfg',
> +... """
> +... [buildout]
> +... develop = demo
> +... parts = testdemo
> +... offline = true
> +...
> +... [testdemo]
> +... recipe = zc.recipe.testrunner
> +... eggs = demo
> +... extra-paths = /usr/local/zope/lib/python
> +... defaults = ['--tests-pattern', '^f?tests$',
> +...             '-v'
> +...            ]
> +... initialization = print 'Hello all you egg-laying pythons!'
> +...                  print 'I thought pythons were live bearers?'
> +... """)
>
> -    >>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
> +>>> print system(os.path.join(sample_buildout, 'bin', 'buildout') + ' -q'),
>
> -    >>> cat(sample_buildout, 'bin', 'testdemo') # doctest: +REPORT_NDIFF
> -    #!/usr/local/bin/python2.4
> -    <BLANKLINE>
> -    import sys
> -    sys.path[0:0] = [
> -      '/sample-buildout/demo',
> -      '/sample-buildout/eggs/zope.testing-3.0-py2.3.egg',
> -      '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> -      '/usr/local/zope/lib/python',
> -      ]
> -    <BLANKLINE>
> -    import os
> -    sys.argv[0] = os.path.abspath(sys.argv[0])
> -    os.chdir('/sample-buildout/parts/testdemo')
> -    print 'Hello all you egg-laying pythons!'
> -    print 'I thought pythons were live bearers?'
> -    <BLANKLINE>
> -    import zope.testing.testrunner
> -    <BLANKLINE>
> -    if __name__ == '__main__':
> -        zope.testing.testrunner.run((['--tests-pattern', '^f?tests$',
> -    '-v'
> -    ]) + [
> -      '--test-path', '/sample-buildout/demo',
> -      ])
> -
> +>>> cat(sample_buildout, 'bin', 'testdemo') # doctest: +REPORT_NDIFF
> +#!/usr/local/bin/python2.4
> +<BLANKLINE>
> +import sys
> +sys.path[0:0] = [
> +  '/sample-buildout/demo',
> +  '/sample-buildout/eggs/zope.testing-3.0-py2.3.egg',
> +  '/sample-buildout/eggs/setuptools-0.6-py1.3.egg',
> +  '/usr/local/zope/lib/python',
> +  ]
> +<BLANKLINE>
> +import os
> +sys.argv[0] = os.path.abspath(sys.argv[0])
> +os.chdir('/sample-buildout/parts/testdemo')
> +print 'Hello all you egg-laying pythons!'
> +print 'I thought pythons were live bearers?'
> +<BLANKLINE>
> +import zope.testing.testrunner
> +<BLANKLINE>
> +if __name__ == '__main__':
> +    zope.testing.testrunner.run((['--tests-pattern', '^f?tests$',
> +'-v'
> +]) + [
> +  '--test-path', '/sample-buildout/demo',
> +  ])
> \ No newline at end of file
>
> _______________________________________________
> Checkins mailing list
> Checkins at zope.org
> http://mail.zope.org/mailman/listinfo/checkins
>



-- 
Benji York
Senior Software Engineer
Zope Corporation


More information about the Zope-Dev mailing list