[buildout] extends = http://svn.plone.org/svn/collective/buildout/plonetest/plone-4.0.x.cfg package-name = plone.app.discussion package-directory = plone/app/discussion parts += omelette test coverage-test coverage-report jscoverage-build jscoverage pylint pylint-test zptlint zptlint-test [versions] zope.schema = 3.6.0 Sphinx = 0.6.4 Products.TinyMCE = 1.1.1 [omelette] recipe = collective.recipe.omelette eggs = ${instance:eggs} packages = ${instance:location}/lib/python ./ [test] recipe = collective.xmltestreport eggs = ${buildout:package-name} defaults = ['--auto-color', '--auto-progress'] [coverage-test] recipe = zc.recipe.testrunner eggs = ${test:eggs} defaults = ['--coverage', '../../coverage', '-v', '--auto-progress'] [coverage-report] recipe = zc.recipe.egg eggs = z3c.coverage scripts = coveragereport arguments = ('coverage', 'report') [jscoverage-build] recipe = zc.recipe.cmmi url = http://siliconforks.com/jscoverage/download/jscoverage-0.5.tar.bz2 [jscoverage] recipe = collective.recipe.template input = inline: #!/bin/sh jscoverage-server -v --ip-address=0.0.0.0 --port=9999 --encoding=UTF-8 --document-root=${buildout:package-directory} --no-instrument=/tests output = ${buildout:directory}/bin/jscoverage mode = 755 [pylint] recipe = zc.recipe.egg eggs = logilab.pylintinstaller extra-paths = ${instance:location}/lib/python entry-points = pylint=pylint.lint:Run arguments = sys.argv[1:] arguments = [ '--output-format=parseable', '--zope=y', '--reports=y', '--disable-msg=E0611,F0401,W0232,E1101,C0103,C0111,R0201,W0201,R0911,R0904,F0220,E1103,R0901,E0211,E0213,E1002,W0622', '--generated-members=objects', ] + sys.argv[1:] # Disable messages: # # E0611: No name %r in module %r. Used when a name cannot be found in a module. # F0401: Unable to import %r (%s). Used when pylint has been unable to import a module. # W0232: Class has no __init__ method. Used when a class has no __init__ method, neither its parent classes. # C0103: Invalid name "%s" (should match %s). Used when the name doesn't match the regular expression associated to its type (constant, variable, class...). # C0111: Message Missing docstring Description Used when a module, function, class or method has no docstring. Some special methods like init don't necessary require a docstring. Explanation… # R0201: Method could be a function # W0201: Attribute %r defined outside __init__ # R0911: Too many return statements (%s/%s) # E0211: Method has no argument # - Reason: raises an error on zope.interface definitions # E0213 Method should have "self" as first argument # - Reason: raises an error on zope.interface definitions # E1121 Too many positional arguments for function call # - Reason: ??? # E1002 Use super on an old style class # - Reason: super(CommentsViewlet, self).update() raises an error # W0622 total_comments: Redefining built-in 'object' # - Reason: top level def function will not work (e.g. for catalog indexers) # ... # See http://pylint-messages.wikidot.com/all-messages for a full list. [pylint-test] recipe = collective.recipe.template input = inline: #!/bin/sh if [ -s pylint.log ]; then rm pylint.log echo "Old pylint.log file removed" fi echo "Running pylint" find -L ${buildout:package-directory} -regex ".*\.[c]?py" | xargs bin/pylint >> pylint.log echo "finish" output = ${buildout:directory}/bin/pylint-test mode = 755 [zptlint] recipe = zc.recipe.egg eggs = zptlint entry-points = zptlint=zptlint:run [zptlint-test] recipe = collective.recipe.template input = inline: #!/bin/sh if [ -e zptlint.log ]; then echo "Old zptlint.log file removed" rm zptlint.log fi echo "Running zptlint-test" TMPL=$(find ${buildout:package-directory} -regex ".*\.[c|z]?pt") echo "Checking" echo $TMPL find ${buildout:package-directory} -regex ".*\.[c|z]?pt" | xargs bin/zptlint > zptlint.log if [ -s zptlint.log ]; then echo "Errors were found:" cat zptlint.log echo "Errors were written to zptlint.log" exit 1; else echo "No errors found" rm zptlint.log fi output = ${buildout:directory}/bin/zptlint-test mode = 755