; Copyright 2019-present Open Networking Foundation
;
; 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,py36,py37
skip_missing_interpreters = true
skipsdist = True

[testenv]
deps =
  -r requirements.txt
  nose2
#  flake8

commands =
  nose2 -c tox.ini --verbose --junit-xml
#  flake8

[flake8]
max-line-length = 119

[unittest]
plugins = nose2.plugins.junitxml

[junit-xml]
path = nose2-results.xml

[coverage]
always-on = True
coverage =
  protoc_plugins
  grpc_client
  utils
  web_server
coverage-report =
  term
  xml

