Exemple #1
0
def test_csv_file_output(capsys, tmpdir):
    target_dir = tmpdir.mkdir('reports')

    cfg = get_default_config()
    cfg['requested_reports'] = [{'type': 'csv'}]

    collector = Collector(cfg)
    collector.add_issues(ISSUES)

    test_file = str(target_dir) + 'test1'
    with open(test_file, 'w') as fp:
        execute_reports(cfg, 'someproject', collector, output_file=fp)

    out, err = capsys.readouterr()
    assert out == ''
    assert err == ''

    assert EXPECTED_CSV == open(test_file, 'r').read()

    test_file = str(target_dir) + 'test2'
    cfg['requested_reports'] = [{'type': 'csv', 'file': test_file}]
    execute_reports(cfg, 'someproject', collector)

    out, err = capsys.readouterr()
    assert out == ''
    assert err == ''

    assert EXPECTED_CSV == open(test_file, 'r').read()
Exemple #2
0
def test_execute_reports(capsys):
    cfg = get_default_config()
    cfg['requested_reports'] = [
        {
            'type': 'null'
        },
        {
            'type': 'doesntexist'
        },
    ]
    collector = execute_tools(cfg, 'test/project1')

    executed = []

    def on_finish(report):
        executed.append(report['type'])

    execute_reports(cfg,
                    'test/project1',
                    collector,
                    on_report_finish=on_finish)
    assert ['null'] == sorted(executed)

    out, err = capsys.readouterr()
    assert out == ''
    assert err == ''
Exemple #3
0
def test_console_execute(capsys):
    cfg = get_default_config()
    cfg['reports'] = [{'type': 'console'}]

    collector = Collector(cfg)

    execute_reports(cfg, 'someproject', collector)

    expected = u'No issues found!'
    if sys.platform != 'win32':
        expected = u'\u2714 ' + expected

    out, err = capsys.readouterr()
    assert out.rstrip() == expected
    assert err == ''

    collector.add_issues(ISSUES)
    execute_reports(cfg, 'someproject', collector)

    expected = EXPECTED_CONSOLE.rstrip()
    if sys.platform == 'win32':
        expected = expected.replace(u'\u2717 ', '')
        if PY2:
            expected = expected.replace('\n', '\r\n')

    out, err = capsys.readouterr()
    assert out.rstrip() == expected
    assert err == ''
Exemple #4
0
def test_execute(capsys):
    cfg = get_default_config()
    cfg['reports'] = [{'type': 'pycodestyle'}]

    collector = Collector(cfg)
    collector.add_issues(ISSUES)

    execute_reports(cfg, 'someproject', collector)

    out, err = capsys.readouterr()
    assert out.replace('\r\n', '\n') == EXPECTED_PYCODESTYLE
    assert err == ''
def test_execute_parseable(capsys):
    cfg = get_default_config()
    cfg['requested_reports'] = [{'type': 'pylint-parseable'}]

    collector = Collector(cfg)
    collector.add_issues(ISSUES)

    execute_reports(cfg, 'someproject', collector)

    out, err = capsys.readouterr()
    assert out.replace('\r\n', '\n') == EXPECTED_PARSEABLE
    assert err == ''
Exemple #6
0
def test_json_execute(capsys):
    cfg = get_default_config()
    cfg['requested_reports'] = [{'type': 'json'}]

    collector = Collector(cfg)
    collector.add_issues(ISSUES)

    execute_reports(cfg, 'someproject', collector)

    out, err = capsys.readouterr()
    assert EXPECTED_JSON == out.replace('\r\n', '\n')
    assert err == ''
def test_execute_bad_format(capsys):
    cfg = get_default_config()
    cfg['requested_reports'] = [{
        'type': 'custom',
        'format': '{filename:,}/{line}'
    }]

    collector = Collector(cfg)
    collector.add_issues(ISSUES)

    execute_reports(cfg, 'someproject', collector)

    out, err = capsys.readouterr()
    assert out == ''
    assert err.strip().startswith('Invalid format for custom report')
def test_execute_bad_token(capsys):
    cfg = get_default_config()
    cfg['requested_reports'] = [{
        'type': 'custom',
        'format': '{filename}/{foo}'
    }]

    collector = Collector(cfg)
    collector.add_issues(ISSUES)

    execute_reports(cfg, 'someproject', collector)

    out, err = capsys.readouterr()
    assert out == ''
    assert err.strip(
    ) == "Invalid format for custom report: Unknown token 'foo'"
def test_execute(capsys):
    cfg = get_default_config()
    cfg['requested_reports'] = [{
        'type':
        'custom',
        'format':
        '{filename}/{line}/{character}/{tool}/{code}/{message}'
    }]

    collector = Collector(cfg)
    collector.add_issues(ISSUES)

    execute_reports(cfg, 'someproject', collector)

    out, err = capsys.readouterr()
    assert out.replace('\r\n', '\n') == EXPECTED
    assert err == ''