; Copyright 2019-2024 Open Networking Foundation ONF Contributors
;
; 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.
; -----------------------------------------------------------------------
; SPDX-FileCopyrightText: 2010-2024 the Open Networking Foundation Contributors
; SPDX-License-Identifier: Apache-2.0
; -----------------------------------------------------------------------

[tox]
envlist = py36,py37,py38,3.10.6
skip_missing_interpreters = true

[testenv]
deps =
  nose2

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

[flake8]
max-line-length = 119

[unittest]
plugins=nose2.plugins.junitxml

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

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

; [SEE ALSO]
; https://tox.wiki/en/latest/cli_interface.html
; https://docs.nose2.io/en/latest/usage.html

; [EOF]
