From 7a14a37981862ef418f3cdb4a7e2375856f97529 Mon Sep 17 00:00:00 2001 From: Toby Fleming <2903454+tobywf@users.noreply.github.com> Date: Thu, 30 Apr 2020 00:47:52 -0700 Subject: [PATCH] Change exit code to 2 when config file doesn't exist (#1361) Fixes #1360, where an invalid config file causes a return/exit code of 1. This change means this case is caught earlier, treated like any other bad parameters, and results in an exit code of 2. Co-authored-by: Toby Fleming --- black.py | 2 +- tests/test_black.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/black.py b/black.py index d9348a3..26a2915 100644 --- a/black.py +++ b/black.py @@ -394,7 +394,7 @@ def target_version_option_callback( @click.option( "--config", type=click.Path( - exists=False, file_okay=True, dir_okay=False, readable=True, allow_dash=False + exists=True, file_okay=True, dir_okay=False, readable=True, allow_dash=False ), is_eager=True, callback=read_pyproject_toml, diff --git a/tests/test_black.py b/tests/test_black.py index acbaade..7a4a3bb 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -1645,6 +1645,16 @@ def test_blackd_main(self) -> None: raise result.exception self.assertEqual(result.exit_code, 0) + def test_invalid_config_return_code(self) -> None: + tmp_file = Path(black.dump_to_file()) + try: + tmp_config = Path(black.dump_to_file()) + tmp_config.unlink() + args = ["--config", str(tmp_config), str(tmp_file)] + self.invokeBlack(args, exit_code=2, ignore_config=False) + finally: + tmp_file.unlink() + class BlackDTestCase(AioHTTPTestCase): async def get_application(self) -> web.Application: