[tox]
skipsdist = true
envlist =
    api-lint,
    ui-lint,
    api,
    ui,
    coveralls

[testenv]
basepython = python2.7
setenv =
    DJANGO_SETTINGS_MODULE = awx.settings.development_quiet
    # For OS X to be able to install pycrypto.
    # CFLAGS = -I/opt/local/include
    SWIG_FEATURES = -cpperraswarn -includeall -I/usr/include/openssl
    HOME = {homedir}
    USERPROFILE = {homedir}
    ANSIBLE_USE_VENV = True
    ANSIBLE_VENV_PATH = {toxworkdir}
    TOWER_USE_VENV = True
    TOWER_VENV_PATH = {toxworkdir}
    SKIP_SLOW_TESTS = True

[testenv:api-lint]
deps =
    -r{toxinidir}/requirements/requirements.txt
    -r{toxinidir}/requirements/requirements_dev.txt
    coverage
    coveralls
commands =
    make flake8

[testenv:ui-lint]
deps =
    nodeenv
commands =
    make jshint

[testenv:api]
deps =
    -r{toxinidir}/requirements/requirements.txt
    -r{toxinidir}/requirements/requirements_dev.txt
    ansible
    coverage
    coveralls
commands =
    python setup.py develop
    # coverage run --help
    # coverage run -p --source awx/main/tests -m pytest {posargs}
    py.test awx/main/tests {posargs:-k 'not old'}

[testenv:ui]
deps =
    nodeenv
commands =
    make UI_TEST_MODE=CI test-ui

[testenv:coveralls]
commands=
    coverage combine
    coverage report -m
    coveralls

[pytest]
DJANGO_SETTINGS_MODULE = awx.settings.development
python_paths = venv/tower/lib/python2.7/site-packages
site_dirs = venv/tower/lib/python2.7/site-packages
python_files = *.py
addopts = --reuse-db --nomigrations --tb=native
markers =
    ac: access control test
    license_feature: ensure license features are accessible or not depending on license
    mongo_db: drop mongodb test database before test runs
