From 314b9f51616cd7d71e2fd8fbf39138ab7a86f075 Mon Sep 17 00:00:00 2001 From: lt94 Date: Sun, 6 Nov 2022 19:29:05 +0800 Subject: [PATCH] Raise exception if append-config does not exist --- src/flake8/options/config.py | 5 ++++- tests/unit/test_options_config.py | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/flake8/options/config.py b/src/flake8/options/config.py index a9ced1b..b51949c 100644 --- a/src/flake8/options/config.py +++ b/src/flake8/options/config.py @@ -87,7 +87,10 @@ def load_config( # TODO: remove this and replace it with configuration modifying plugins # read the additional configs afterwards for filename in extra: - cfg.read(filename, encoding="UTF-8") + if not cfg.read(filename, encoding="UTF-8"): + raise exceptions.ExecutionError( + f"The specified config file does not exist: {filename}" + ) return cfg, cfg_dir diff --git a/tests/unit/test_options_config.py b/tests/unit/test_options_config.py index 43d8104..7de58f0 100644 --- a/tests/unit/test_options_config.py +++ b/tests/unit/test_options_config.py @@ -222,6 +222,11 @@ def test_load_config_missing_file_raises_exception(capsys): config.load_config("foo.cfg", []) +def test_load_config_missing_append_config_raise_exception(): + with pytest.raises(exceptions.ExecutionError): + config.load_config(None, ["dont_exist_config.cfg"], isolated=False) + + def test_invalid_ignore_codes_raise_error(tmpdir, opt_manager): tmpdir.join("setup.cfg").write("[flake8]\nignore = E203, //comment") with tmpdir.as_cwd():