Coverage for tests / unit / tools / ruff / check / test_timeout.py: 100%
12 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
« prev ^ index » next coverage.py v7.13.0, created at 2026-04-03 18:53 +0000
1"""Tests for timeout configuration in execute_ruff_check."""
3from __future__ import annotations
5from unittest.mock import MagicMock, patch
7from assertpy import assert_that
9from lintro.tools.implementations.ruff.check import (
10 RUFF_DEFAULT_TIMEOUT,
11 execute_ruff_check,
12)
15def test_execute_ruff_check_uses_default_timeout() -> None:
16 """Verify default timeout constant is set correctly."""
17 assert_that(RUFF_DEFAULT_TIMEOUT).is_equal_to(30)
20def test_execute_ruff_check_uses_tool_timeout(
21 mock_ruff_tool: MagicMock,
22) -> None:
23 """Use timeout from tool options.
25 Args:
26 mock_ruff_tool: Mock RuffTool instance for testing.
27 """
28 mock_ruff_tool.options["timeout"] = 60
30 with (
31 patch(
32 "lintro.tools.implementations.ruff.check.walk_files_with_excludes",
33 return_value=["test.py"],
34 ),
35 patch(
36 "lintro.tools.implementations.ruff.check.run_subprocess_with_timeout",
37 return_value=(True, "[]"),
38 ) as mock_subprocess,
39 patch(
40 "lintro.tools.implementations.ruff.check.parse_ruff_output",
41 return_value=[],
42 ),
43 patch(
44 "lintro.tools.implementations.ruff.check.get_timeout_value",
45 return_value=60,
46 ),
47 ):
48 execute_ruff_check(mock_ruff_tool, ["/test/project"])
50 call_kwargs = mock_subprocess.call_args.kwargs
51 assert_that(call_kwargs.get("timeout")).is_equal_to(60)