Just a burn test: create projects out of the templates and run buildout on
them.

The test setup prepares a temporary directory that is thrown away in the
teardown method:

    >>> import os
    >>> from pprint import pprint
    >>> os.listdir(tmp)
    []

Find paster:

    >>> curdir = os.getcwd()
    >>> paster = os.path.join(curdir, 'bin', 'paster')
    >>> os.path.exists(paster)
    True

List the templates:

    >>> print 'start', system(paster + ' create --list-templates') #doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
    start ...
    nens_library:
    ...

Do the smoke tests:

    >>> os.chdir(tmp)
    >>> dont_care = system(paster + ' create -t nens_library aaa')
    >>> contents = sorted(os.listdir(os.path.join(tmp, 'aaa')))
    >>> if 'aaa.egg-info' in contents:
    ...     # Compensate for distribute/setuptools difference.
    ...     contents.remove('aaa.egg-info')
    >>> pprint(contents)
    ['CHANGES.txt',
     'CREDITS.txt',
     'LICENSE.txt',
     'README.txt',
     'TODO.txt',
     'aaa',
     'bootstrap.py',
     'buildout.cfg',
     'local_checkouts',
     'setup.py']

    >>> dont_care = system(paster + ' create -t nens_djangoapp li-zard')
    >>> contents = sorted(os.listdir(os.path.join(tmp, 'li-zard')))
    >>> if 'li_zard.egg-info' in contents:
    ...     # Compensate for distribute/setuptools difference.
    ...     contents.remove('li_zard.egg-info')
    >>> pprint(contents)
    ['CHANGES.txt',
     'CREDITS.txt',
     'LICENSE.txt',
     'README.txt',
     'TODO.txt',
     'bootstrap.py',
     'buildout.cfg',
     'li_zard',
     'local_checkouts',
     'setup.py']

    >>> dont_care = system(paster + ' create -t nens_lizardsite nieuwegein')
    >>> contents = sorted(os.listdir(os.path.join(tmp, 'nieuwegein')))
    >>> if 'nieuwegein.egg-info' in contents:
    ...     # Compensate for distribute/setuptools difference.
    ...     contents.remove('nieuwegein.egg-info')
    >>> pprint(contents)
    ['CHANGES.txt',
     'CREDITS.txt',
     'LICENSE.txt',
     'README.txt',
     'TODO.txt',
     'bootstrap.py',
     'buildout.cfg',
     'deploy.cfg',
     'etc',
     'local_checkouts',
     'nieuwegein',
     'setup.py']
    >>> subdir_contents = sorted(os.listdir(
    ...     os.path.join(tmp, 'nieuwegein', 'nieuwegein')))
    >>> settings = [item for item in subdir_contents if 'settings' in item]
    >>> pprint(settings)
    ['developmentsettings.py', 'settings.py']

And now for some serious buildout running

    >>> os.chdir(os.path.join(tmp, 'aaa'))
    >>> print 'start', system('python2.5 bootstrap.py') #doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
    start...
    Creating directory .../aaa/bin'.
    ...
    Generated script .../aaa/bin/buildout'.
    >>> output = system('bin/buildout -t 1') # '-t 1' is the socket timeout...
    >>> if 'Traceback' in output:
    ...     print output
    ... else:
    ...     print "succeeded"
    succeeded


    >>> os.chdir(os.path.join(tmp, 'li-zard'))
    >>> print 'start', system('python2.5 bootstrap.py') #doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
    start...
    Creating directory .../li-zard/bin'.
    ...
    Generated script .../li-zard/bin/buildout'.
    >>> output = system('bin/buildout -t 1') # '-t 1' is the socket timeout...
    >>> if 'Traceback' in output:
    ...     print output
    ... else:
    ...     print "succeeded"
    succeeded


    >>> os.chdir(os.path.join(tmp, 'nieuwegein'))
    >>> print 'start', system('python2.5 bootstrap.py') #doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
    start...
    Creating directory .../nieuwegein/bin'.
    ...
    Generated script .../nieuwegein/bin/buildout'.
    >>> output = system('bin/buildout -t 1') # '-t 1' is the socket timeout...
    >>> if 'Traceback' in output:
    ...     print output
    ... else:
    ...     print "succeeded"
    succeeded
