# Copyright 2019 ETSI OSM
#
# All Rights Reserved.
#
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
#    not use this file except in compliance with the License. You may obtain
#    a copy of the License at
#
#         http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#    License for the specific language governing permissions and limitations
#    under the License.
#
[tox]
envlist = py27,py35,flake8,pyflakes
toxworkdir={toxinidir}/.tox

[testenv]
deps = -r{toxinidir}/test-requirements.txt
commands=nosetests
install_command = python -m pip install -r test-requirements.txt -U {opts} {packages}

[testenv:flake8]
basepython = python3
deps = flake8
commands =
    flake8 setup.py

[testenv:pyflakes]
basepython = python3
deps = pyflakes
commands =
    pyflakes osmclient

[testenv:build]
basepython = python
deps = stdeb
       setuptools-version-command
commands = python setup.py --command-packages=stdeb.command bdist_deb

[testenv:build3]
basepython = python3
deps = stdeb
       setuptools-version-command
commands = python3 setup.py --command-packages=stdeb.command bdist_deb

