; Copyright 2017-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 = py35,py36,py37
skip_missing_interpreters = true

[testenv]
# remove the git+https link and add to requirements.txt when upstream fixes the pypi package
deps =
  -r requirements.txt
  flake8
  pylint
  robotframework-lint
  git+https://github.com/zdw/robotframework-importresource@b81b87aabaee0594e966687b41e3674b866f28ee

# LineToLong should be much lower
commands =
  flake8
  pylint --py3k CORDRobot
  rflint \
     --configure TooFewKeywordSteps:1 \
     --configure LineTooLong:160 -e LineTooLong \
     CORDRobot/rf-resources test
  robot test/test.robot

[flake8]
exclude =
  .tox
  build
max-line-length = 119
