Skip to content

Commit adc9ae3

Browse files
authored
fix: handle return code (#219)
1 parent 63edaad commit adc9ae3

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

src/twyn/cli.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,15 @@ def run(
8686
if dependency_file and not any(dependency_file.endswith(key) for key in DEPENDENCY_FILE_MAPPING):
8787
raise click.UsageError("Dependency file name not supported.", ctx=click.get_current_context())
8888

89-
return int(
90-
check_dependencies(
91-
config_file=config,
92-
dependency_file=dependency_file,
93-
dependencies_cli=set(dependency) or None,
94-
selector_method=selector_method,
95-
verbosity=verbosity,
89+
sys.exit(
90+
int(
91+
check_dependencies(
92+
config_file=config,
93+
dependency_file=dependency_file,
94+
dependencies_cli=set(dependency) or None,
95+
selector_method=selector_method,
96+
verbosity=verbosity,
97+
)
9698
)
9799
)
98100

tests/main/test_cli.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,22 @@ def test_click_arguments_default(self, mock_check_dependencies):
140140
)
141141
]
142142

143+
@patch("twyn.cli.check_dependencies")
144+
def test_return_code_1(self, mock_check_dependencies):
145+
runner = CliRunner()
146+
mock_check_dependencies.return_value = True
147+
148+
result = runner.invoke(cli.run)
149+
assert result.exit_code == 1
150+
151+
@patch("twyn.cli.check_dependencies")
152+
def test_return_code_0(self, mock_check_dependencies):
153+
runner = CliRunner()
154+
mock_check_dependencies.return_value = False
155+
156+
result = runner.invoke(cli.run)
157+
assert result.exit_code == 0
158+
143159
def test_only_one_verbosity_level_is_allowed(self):
144160
runner = CliRunner()
145161
result = runner.invoke(cli.run, ["-v", "-vv"], catch_exceptions=False)

0 commit comments

Comments
 (0)