# Tox (http://tox.testrun.org/) is a tool for running tests
# in multiple virtualenvs. This configuration file will run the
# test suite on all supported python versions. To use it, "pip install tox"
# and then run "tox" from this directory.

[tox]
envlist = py25, py26, py27, py31, py32, py33, pypy

[testenv]
commands =
    {envpython} setup.py --quiet clean develop

    # Create tests/zipmods.zip
    # Install the egg1 egg
    # Remove the C extension so that we can test the PyTracer
    {envpython} igor.py zip_mods install_egg remove_extension

    # Test with the PyTracer
    {envpython} igor.py test_with_tracer py {posargs}

    # Build the C extension and test with the CTracer
    {envpython} setup.py --quiet build_ext --inplace
    {envpython} igor.py test_with_tracer c {posargs}

deps =
    nose
    mock

[testenv:pypy]
# PyPy has no C extensions
setenv =
    COVERAGE_NO_EXTENSION=1
