Browse Source

Improves Tox

Ask Solem 13 years ago
parent
commit
99c5d74aae

+ 2 - 0
celery/tests/test_concurrency/test_concurrency_eventlet.py

@@ -9,6 +9,8 @@ from celery.tests.utils import unittest
 class EventletCase(unittest.TestCase):
 
     def setUp(self):
+        if getattr(sys, "pypy_version_info", None):
+            raise SkipTest("Does not work on PyPy")
         try:
             self.eventlet = __import__("eventlet")
         except ImportError:

+ 3 - 0
contrib/release/removepyc.sh

@@ -0,0 +1,3 @@
+#!/bin/bash
+find "${1:-.}" -name "*.pyc" | xargs rm
+find "${1:-.}" -name "*\$py.class" | xargs rm

+ 1 - 0
requirements/pkgutils.txt

@@ -1,2 +1,3 @@
 paver
 flake8
+tox

+ 0 - 0
requirements/test_py3k.txt → requirements/test-py3k.txt


+ 4 - 0
requirements/test-pypy.txt

@@ -0,0 +1,4 @@
+nose
+nose-cover3
+coverage>=3.0
+mock>=0.7.0

+ 0 - 2
requirements/test.txt

@@ -4,8 +4,6 @@ nose
 nose-cover3
 coverage>=3.0
 mock>=0.7.0
-pytyrant
 redis
 pymongo
 SQLAlchemy
-tox

+ 71 - 14
tox.ini

@@ -1,33 +1,90 @@
 [tox]
-envlist = py25,py26,py27
+envlist = py25,py26,py27,pypy
 
 [testenv]
 distribute = True
 sitepackages = False
 commands = nosetests
 
-[testenv:py25]
-basepython = python2.5
-commands = pip -E {envdir} install -r contrib/requirements/default.txt
-           pip -E {envdir} install -r contrib/requirements/py25.txt
-           pip -E {envdir} install -r contrib/requirements/test.txt
+[testenv:py32]
+recreate = True
+basepython = python3.2
+changedir = .tox
+deps = -r{toxinidir}/requirements/default.txt
+       -r{toxinidir}/requirements/test-py3k.txt
+commands = {toxinidir}/contrib/release/removepyc.sh {toxinidir}
+           nosetests -vd celery.tests                           \
+                --with-coverage3                                \
+                --cover3-branch                                 \
+                --cover3-xml                                    \
+                --cover3-xml-file=coverage.xml                  \
+                --cover3-html                                   \
+                --cover3-package=celery                         \
+                --cover3-exclude="celery celery.tests.*         \
+                        celery.bin.celeryd_multi                \
+                        celery.bin.celeryd_detach               \
+                        celery.bin.celeryctl                    \
+                        celery.bin.camqadm                      \
+                        celery.execute                          \
+                        celery.local                            \
+                        celery.platforms                        \
+                        celery.utils.patch                      \
+                        celery.utils.compat                     \
+                        celery.utils.mail                       \
+                        celery.utils.functional                 \
+                        celery.utils.dispatch*                  \
+                        celery.utils.term                       \
+                        celery.db.a805d4bd                      \
+                        celery.db.dfd042c7                      \
+                        celery.contrib*                         \
+                        celery.concurrency.threads              \
+                        celery.concurrency.processes.pool       \
+                        celery.concurrency.gevent               \
+                        celery.backends.mongodb                 \
+                        celery.backends.tyrant                  \
+                        celery.backends.cassandra               \
+                        celery.events.dumper                    \
+                        celery.events.cursesmon"                \
+                --with-xunit                                    \
+                --xunit-file=nosetests.xml
+
+[testenv:py27]
+basepython = python2.7
+deps = -r{toxinidir}/requirements/default.txt
+       -r{toxinidir}/requirements/test.txt
+commands = {toxinidir}/contrib/release/removepyc.sh {toxinidir}
            nosetests --with-xunit --xunit-file=nosetests.xml \
-                     --with-coverage3  --cover3-xml          \
+                     --with-coverage3 --cover3-xml          \
                      --cover3-xml-file=coverage.xml
 
 [testenv:py26]
 basepython = python2.6
-commands = pip -E {envdir} install -r contrib/requirements/default.txt
+deps = -r{toxinidir}/requirements/default.txt
+       -r{toxinidir}/requirements/py26.txt
+       -r{toxinidir}/requirements/test.txt
+commands = {toxinidir}/contrib/release/removepyc.sh {toxinidir}
            pip -E {envdir} install -r contrib/requirements/py26.txt
            pip -E {envdir} install -r contrib/requirements/test.txt
            nosetests --with-xunit --xunit-file=nosetests.xml \
-                     --with-coverage3  --cover3-xml          \
+                     --with-coverage3 --cover3-xml          \
                      --cover3-xml-file=coverage.xml
 
-[testenv:py27]
-basepython = python2.7
-commands = pip -E {envdir} install -r contrib/requirements/default.txt
-           pip -E {envdir} install -r contrib/requirements/test.txt
+[testenv:py25]
+basepython = python2.5
+deps = -r{toxinidir}/requirements/default.txt
+       -r{toxinidir}/requirements/py25.txt
+       -r{toxinidir}/requirements/test.txt
+commands = {toxinidir}/contrib/release/removepyc.sh {toxinidir}
+           nosetests --with-xunit --xunit-file=nosetests.xml \
+                     --with-coverage3 --cover3-xml          \
+                     --cover3-xml-file=coverage.xml
+
+
+[testenv:pypy]
+basepython = pypy
+deps = -r{toxinidir}/requirements/default.txt
+       -r{toxinidir}/requirements/test-pypy.txt
+commands = {toxinidir}/contrib/release/removepyc.sh {toxinidir}
            nosetests --with-xunit --xunit-file=nosetests.xml \
-                     --with-coverage3  --cover3-xml          \
+                     --with-coverage3 --cover3-xml          \
                      --cover3-xml-file=coverage.xml