Применение альтернативных правил flake8 к подмножеству файлов - PullRequest
0 голосов
/ 12 мая 2018

У меня есть проект, в котором я использую tox для тестирования, который запускает тесты flake8.Я хотел бы применить другую конфигурацию flake8 к моему каталогу тестов из всего остального;Я хотел бы игнорировать E402 в моих тестах, потому что я не могу использовать sys.path перед импортом модуля для тестирования.

Синтаксис конфигурации flake8 позволяет применять только одну конфигурацию к файлам, сопоставленным с помощью include / excludeпоэтому я добавил ./tests/.flake8, чтобы добавить конфигурацию, которая применяется только к этим файлам.

. / tox.ini

[tox]
envlist = lint, py27, py36

[testenv]
commands =
    coverage run --source=myModule -a setup.py test

[testenv:lint]
basepython = python3
ignore_errors = True
deps =
    -r{toxinidir}/requirements_test.txt
commands =
    flake8
    pylint myModule
    pydocstyle myModule tests

[flake8]
count = true
statistics = True

./tests/.flake8

[flake8]
ignore = E402

С опциями flake8 в моем файле tox.ini файл точек всегда игнорируется.Без параметров в файле tox.ini файл точек используется flake8, запускаемым из командной строки, но игнорируется при запуске с помощью tox.

Похоже, что нет никакой возможности применить другую конфигурацию flake8 к разнымнаборы файлов в рамках одного проекта.Я что-то упустил в синтаксисе конфигурации, который позволил бы мне делать то, что я хочу здесь?

1 Ответ

0 голосов
/ 14 мая 2018

Вы можете попробовать запустить flake8 дважды - один раз с глобальной конфигурацией, исключая tests/, а второй - только tests/:

commands =
    flake8 --exclude=tests
    cd tests && flake8
...