[tox]
envlist = py27
skipsdist = True

[testenv]
basepython = python2.7
commands = {env:CHECK_SQLCIPHER}
    py.test -x \
      --cov-report=html \
      --cov-report=term \
      --cov=leap.soledad \
      {posargs}
usedevelop = True
deps =
    coverage
    pytest
    pytest-cov
    pytest-twisted
    mock
    testscenarios
    setuptools-trial
    pdbpp
    couchdb
    requests
    service_identity
    leap.common
# used by benchmarks
    psutil
    pytest-benchmark
    elasticsearch
    certifi
# used by e2e tests
    srp
# force six version to avoid breaking pgpy - https://github.com/SecurityInnovation/PGPy/issues/217
    six==1.10.0
    pgpy
# install soledad from current tree
    -e.[client]
    -e.[server]
setenv =
    HOME=/tmp
    TERM=xterm
    XDG_CACHE_HOME=./.cache/
    CHECK_SQLCIPHER={toxinidir}/scripts/testing/ensure-pysqlcipher-has-usleep.sh
install_command = pip install {opts} {packages}

[testenv:py34]
basepython = python3.4
commands =
    py.test \
      --cov-report=html \
      --cov-report=term \
      --cov=leap.soledad \
      {posargs}
usedevelop = True
deps = {[testenv]deps}
setenv =
    HOME=/tmp
    TERM=xterm
install_command = pip3 install {opts} {packages}

[testenv:code-check]
deps =
    pep8
    flake8
commands =
    pep8
    flake8

[testenv:e2e]
deps =
    {[testenv]deps}
passenv = INVITE_CODE
commands =
    py.test --subdir=e2e --soledad-server-url=https://giraffe.cdev.bitmask.net:2323 {posargs}

[testenv:benchmark-time-cpu]
usedevelop = True
deps = {[testenv]deps}
commands = {env:CHECK_SQLCIPHER}
    py.test --subdir=benchmarks {posargs}
passenv = HOST_HOSTNAME

[testenv:benchmark-memory]
usedevelop = True
deps = {[testenv]deps}
commands = {env:CHECK_SQLCIPHER}
    py.test --subdir=benchmarks --watch-memory {posargs}
passenv = HOST_HOSTNAME

[testenv:responsiveness]
usedevelop = True
deps = {[testenv]deps}
commands = {env:CHECK_SQLCIPHER}
    py.test --subdir=responsiveness {posargs}
passenv = HOST_HOSTNAME

[testenv:parallel]
deps =
    {[testenv]deps}
    pytest-xdist
commands = {env:CHECK_SQLCIPHER}
    py.test {posargs} -n 4