diff --git a/poetry/console/commands/config.py b/poetry/console/commands/config.py index 551876912c2..70b6c7673f1 100644 --- a/poetry/console/commands/config.py +++ b/poetry/console/commands/config.py @@ -4,6 +4,7 @@ from cleo import argument from cleo import option +from poetry.core.pyproject import PyProjectException from poetry.core.toml.file import TOMLFile from poetry.factory import Factory @@ -80,7 +81,7 @@ def handle(self): local_config_file = TOMLFile(self.poetry.file.parent / "poetry.toml") if local_config_file.exists(): config.merge(local_config_file.read()) - except RuntimeError: + except (RuntimeError, PyProjectException): local_config_file = TOMLFile(Path.cwd() / "poetry.toml") if self.option("local"): diff --git a/tests/console/commands/test_config.py b/tests/console/commands/test_config.py index 4bf102073d5..bb13a268e2f 100644 --- a/tests/console/commands/test_config.py +++ b/tests/console/commands/test_config.py @@ -4,6 +4,7 @@ import pytest from poetry.config.config_source import ConfigSource +from poetry.core.pyproject import PyProjectException from poetry.factory import Factory @@ -12,6 +13,16 @@ def tester(command_tester_factory): return command_tester_factory("config") +def test_show_config_with_local_config_file_empty(tester, mocker): + mocker.patch( + "poetry.factory.Factory.create_poetry", + side_effect=PyProjectException("[tool.poetry] section not found"), + ) + tester.execute() + + assert "" == tester.io.fetch_output() + + def test_list_displays_default_value_if_not_set(tester, config): tester.execute("--list")