add failing test for missing config file

This commit is contained in:
Ruairidh MacLeod 2021-12-24 01:35:27 +00:00
parent a7be5e798b
commit d478d92299
2 changed files with 24 additions and 0 deletions

View file

@ -386,3 +386,21 @@ def test_early_keyboard_interrupt_does_not_crash(capsys):
out, err = capsys.readouterr()
assert out == "... stopped\n"
assert err == ""
def test_config_file_not_found(tmpdir, capsys):
"""Ensure that an explicitly specified config file which is not found is an
error"""
expected = """\
There was a critical error during execution of Flake8:
The specified config file does not exist
"""
with tmpdir.as_cwd():
tmpdir.join("t.py").write("print('hello hello world')\n")
assert cli.main(["--config", "missing.cfg", "t.py"]) == 1
out, err = capsys.readouterr()
assert out == expected
assert err == ""

View file

@ -2,6 +2,7 @@ import configparser
import pytest
from flake8 import exceptions
from flake8.main.options import register_default_options
from flake8.options import config
from flake8.options.manager import OptionManager
@ -164,3 +165,8 @@ def test_parse_config_ignores_unknowns(tmp_path, opt_manager, caplog):
'Option "wat" is not registered. Ignoring.',
)
]
def test_load_config_missing_file_raises_exception(capsys):
with pytest.raises(exceptions.ExecutionError):
config.load_config("foo.cfg", [])