예제 #1
0
def test_conf_invalid(caplog):
    with NamedTemporaryFile() as conf:
        conf.write(b"""
[invalid_config]
extensions=.wack \t \t
always_report=yeah

[ok_config]
extensions=\t \t.weird \t \t
command=yo
regex=(?P<file>[^:]+):(?P<line>\\d+):[^:]+: (?P<err>[^ :]+)
""")
        conf.flush()

        caplog.clear()
        with patch("lint_diffs.USER_CONFIG", conf.name):
            cfg = read_config()
        exts = _config_to_dict(cfg)

        errs = 0
        for ent in caplog.records:
            if ent.levelname == "ERROR":
                errs += 1

        # invalid extensions don't get loaded
        assert '.wack' not in exts

        # ext with weird whitespace still works
        assert '.weird' in exts

        # missing command + missing regex == 2
        assert errs == 2
예제 #2
0
def test_conf_read():
    with NamedTemporaryFile() as conf:
        conf.write(b"""
[main]
debug=True

[pylint]
always_report=W0613
        """)
        conf.flush()
        with patch("lint_diffs.USER_CONFIG", conf.name):
            conf = read_config()
            assert conf["pylint"]["always_report"] == 'W0613'
            assert conf["pylint"]["command"]
            assert conf["pylint"]["regex"]
            assert conf["main"]["debug"]