diff --git a/black.py b/black.py index d9348a37b42..26a2915bac9 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 acbaade0a50..7a4a3bb1130 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: