; 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.

; using tox.ini only to store config information for other tools

[tox]
envlist = py27
# add to envlist when py3 compat is done py35,py36,py37
skip_missing_interpreters = true
skipsdist = True

[testenv]
deps =
  -r requirements.txt
  -e lib/xos-config
  -e lib/xos-genx
  multistructlog
  nose2
  flake8
  pyfakefs
  grpcio==1.19.0

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

[flake8]
max-line-length = 119

[unittest]
plugins = nose2.plugins.junitxml
code-directories =
  coreapi

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

[coverage]
always-on = True
coverage =
  xos
coverage-report =
  term
  xml
