#=========================================================================== # Passlib configuration for TOX # ============================= # # PASSLIB_TEST_MODE: # # "quick" # run the bare minimum tests to ensure functionality. # variable-cost hashes are tested at their lowest setting. # hash algorithms are only tested against the backend that will # be used on the current host. no fuzz testing is done. # # "default" # same as ``"quick"``, except: hash algorithms are tested # at default levels, and a brief round of fuzz testing is done # for each hash. # # "full" # extra regression and internal tests are enabled, hash algorithms are tested # against all available backends, unavailable ones are mocked whre possible, # additional time is devoted to fuzz testing. # # testing of m2crypto integration - done in py27 test # # testing of django integration - split across various cpython tests: # py25 - tests django 1.3 # py26 - tests no django # py27 - tests latest django # # testing of bcrypt backends - split across various cpython tests: # py25 - tests builtin bcrypt # py27 - tests py-bcrypt, bcryptor #=========================================================================== #=========================================================================== # global config #=========================================================================== [tox] minversion=1.3 envlist = py27,py32,py25,py26,py31,pypy15,pypy16,pypy17,pypy18,jython,gae25,gae27 #=========================================================================== # stock CPython VMs #=========================================================================== [testenv] setenv = PASSLIB_TEST_MODE = full changedir = {envdir} commands = nosetests {posargs:passlib.tests} deps = nose coverage unittest2 [testenv:py25] deps = nose coverage # unittest2 omitted, to test backport code django<1.4 [testenv:py27] deps = nose coverage unittest2 py-bcrypt bcryptor django M2Crypto [testenv:py31] deps = nose unittest2py3k [testenv:py32] deps = nose coverage unittest2py3k #=========================================================================== # PyPy VM - all target Python 2.7; supporting 1.5-1.8 #=========================================================================== [testenv:pypy15] basepython = pypy1.5 [testenv:pypy16] basepython = pypy1.6 [testenv:pypy17] basepython = pypy1.7 [testenv:pypy18] basepython = pypy1.8 #=========================================================================== # Jython - no special directives, currently same as py25 #=========================================================================== #=========================================================================== # Google App Engine integration #=========================================================================== [testenv:gae25] basepython = python2.5 deps = # FIXME: getting all kinds of errors when using nosegae 0.2.0 :( nose nosegae==0.1.9 unittest2 changedir = {envdir}/lib/python2.5/site-packages commands = # setup custom app.yaml so GAE can run python -m passlib.tests.tox_support setup_gae . python # FIXME: have to run using --without-sandbox for now, # something in nose+GAE+virtualenv won't play nice with eachother. nosetests --with-gae --without-sandbox {posargs:passlib/tests} [testenv:gae27] basepython = python2.7 deps = # FIXME: getting all kinds of errors when using nosegae 0.2.0 :( nose nosegae==0.1.9 unittest2 changedir = {envdir}/lib/python2.7/site-packages commands = # setup custom app.yaml so GAE can run python -m passlib.tests.tox_support setup_gae . python27 # TODO: figure out how to select django 1.2 so the extension under gae. # FIXME: have to run using --without-sandbox for now, # something in nose+GAE+virtualenv won't play nice with eachother. nosetests --with-gae --without-sandbox {posargs:passlib/tests} #=========================================================================== # EOF #===========================================================================