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 <tobywf@users.noreply.github.com>
This commit is contained in:
Toby Fleming 2020-04-30 00:47:52 -07:00 committed by GitHub
parent 8126b4f6a9
commit 7a14a37981
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 1 deletions

View File

@ -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,

View File

@ -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: