mirror of
https://github.com/TheLocehiliosan/yadm
synced 2024-10-27 20:34:27 +00:00
Add --force-linters option to pylint (#179)
When this option is provided, linters will be run regardless of the version installed. Normally tests are skipped if the linters are not the supported version.
This commit is contained in:
parent
5d484ca825
commit
437ae2b719
@ -12,6 +12,16 @@ import py
|
||||
import pytest
|
||||
|
||||
|
||||
def pytest_addoption(parser):
|
||||
"""Add options to pytest"""
|
||||
parser.addoption(
|
||||
"--force-linters",
|
||||
action="store_true",
|
||||
default=False,
|
||||
help="Run linters regardless of installed versions",
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture(scope='session')
|
||||
def shellcheck_version():
|
||||
"""Version of shellcheck supported"""
|
||||
|
@ -10,8 +10,9 @@ def test_yadm_syntax(runner, yadm):
|
||||
assert run.success
|
||||
|
||||
|
||||
def test_shellcheck(runner, yadm, shellcheck_version):
|
||||
def test_shellcheck(pytestconfig, runner, yadm, shellcheck_version):
|
||||
"""Passes shellcheck"""
|
||||
if not pytestconfig.getoption("--force-linters"):
|
||||
run = runner(command=['shellcheck', '-V'], report=False)
|
||||
if f'version: {shellcheck_version}' not in run.out:
|
||||
pytest.skip('Unsupported shellcheck version')
|
||||
@ -19,8 +20,9 @@ def test_shellcheck(runner, yadm, shellcheck_version):
|
||||
assert run.success
|
||||
|
||||
|
||||
def test_pylint(runner, pylint_version):
|
||||
def test_pylint(pytestconfig, runner, pylint_version):
|
||||
"""Passes pylint"""
|
||||
if not pytestconfig.getoption("--force-linters"):
|
||||
run = runner(command=['pylint', '--version'], report=False)
|
||||
if f'pylint {pylint_version}' not in run.out:
|
||||
pytest.skip('Unsupported pylint version')
|
||||
@ -32,8 +34,9 @@ def test_pylint(runner, pylint_version):
|
||||
assert run.success
|
||||
|
||||
|
||||
def test_flake8(runner, flake8_version):
|
||||
def test_flake8(pytestconfig, runner, flake8_version):
|
||||
"""Passes flake8"""
|
||||
if not pytestconfig.getoption("--force-linters"):
|
||||
run = runner(command=['flake8', '--version'], report=False)
|
||||
if not run.out.startswith(flake8_version):
|
||||
pytest.skip('Unsupported flake8 version')
|
||||
@ -41,8 +44,9 @@ def test_flake8(runner, flake8_version):
|
||||
assert run.success
|
||||
|
||||
|
||||
def test_yamllint(runner, yamllint_version):
|
||||
def test_yamllint(pytestconfig, runner, yamllint_version):
|
||||
"""Passes yamllint"""
|
||||
if not pytestconfig.getoption("--force-linters"):
|
||||
run = runner(command=['yamllint', '--version'], report=False)
|
||||
if not run.out.strip().endswith(yamllint_version):
|
||||
pytest.skip('Unsupported yamllint version')
|
||||
|
Loading…
Reference in New Issue
Block a user