def test_pyflakes(): options = parse_options(linters=['pyflakes'], config=False) assert options.linters errors = run('dummy.py', code="\n".join( ["import sys", "def test():", " unused = 1"]), options=options) assert len(errors) == 2
def test_linters_params(): options = parse_options(linters='mccabe', config=False) options.linters_params['mccabe'] = dict(complexity=1) errors = run('dummy.py', options=options) assert len(errors) == 1 options.linters_params['mccabe'] = dict(complexity=20) errors = run('dummy.py', options=options) assert not errors
def test_pycodestyle(): options = parse_options(linters=['pycodestyle'], config=False) assert len(options.linters) == 1 errors = run('dummy.py', options=options) assert len(errors) == 2 options.linters_params['pycodestyle'] = dict(max_line_length=60) errors = run('dummy.py', options=options) assert len(errors) == 11
def test_config(): config = get_config() assert config options = parse_options() assert options assert options.skip assert not options.verbose assert options.paths == ['pylava'] options = parse_options(['-l', 'pydocstyle,pycodestyle', '-i', 'E']) linters, _ = zip(*options.linters) assert set(linters) == set(['pydocstyle', 'pycodestyle']) assert options.ignore == ['E'] options = parse_options('-o dummy dummy.py'.split()) linters, _ = zip(*options.linters) assert set(linters) == set(['pycodestyle', 'mccabe', 'pyflakes']) assert options.skip == []
def test_prepare_params(): p1 = dict(ignore='W', select='R01', skip='0') p2 = dict(ignore='E34,R45', select='E') options = parse_options(ignore=['D'], config=False) params = prepare_params(p1, p2, options) assert params == { 'ignore': set(['R45', 'E34', 'W', 'D']), 'select': set(['R01', 'E']), 'skip': False, 'linters': [] }
def test_ignore_select(): options = parse_options() options.ignore = ['E301', 'D102'] options.linters = ['pycodestyle', 'pydocstyle', 'pyflakes', 'mccabe'] errors = run('dummy.py', options=options) assert len(errors) == 29 options.ignore = ['E3', 'D'] errors = run('dummy.py', options=options) assert len(errors) == 0 options.select = ['E301'] errors = run('dummy.py', options=options) assert len(errors) == 1 assert errors[0]['col']
def test_pylint(): from pylava.core import run from pylava.config import parse_options options = parse_options(linters=['pylint'], config=False) options.ignore = set(['R0912', 'C0111', 'I0011', 'F0401']) errors = run('dummy.py', options=options) assert len(errors) == 3 assert errors[0].number == 'W0611' options.linters_params['pylint'] = dict(disable="W") errors = run('dummy.py', options=options) assert len(errors) == 1 assert errors[0].number == 'E0602' options.linters_params['pylint']['max-line_length'] = 200 errors = run('dummy.py', options=options) assert len(errors) == 1
def test_pydocstyle(): options = parse_options(linters=['pydocstyle']) assert len(options.linters) == 1 errors = run('dummy.py', options=options) assert errors
def test_checkpath(): path = op.abspath('dummy.py') options = parse_options([path]) result = check_path(options) assert result assert result[0].filename == 'dummy.py'
def test_async(): options = parse_options(config=False) errors = check_async(['dummy.py'], options=options, rootdir='.') assert errors
def test_sort(): options = parse_options() options.sort = ['C', 'D'] errors = run('dummy.py', options=options) assert errors[0].type == 'C'