|
4 | 4 | import pytest |
5 | 5 |
|
6 | 6 |
|
7 | | -def test_find_dockerfiles_top_level_only(tmp_path, monkeypatch): |
8 | | - # Project root with both top-level and nested Dockerfiles – only top-level should be returned. |
9 | | - project = tmp_path / "proj" |
10 | | - project.mkdir() |
11 | | - top_level = project / "Dockerfile" |
12 | | - top_level.write_text("FROM python:3.11-slim\n", encoding="utf-8") |
13 | | - nested_dir = project / "nested" |
14 | | - nested_dir.mkdir() |
15 | | - (nested_dir / "Dockerfile").write_text("FROM python:3.11-slim\n", encoding="utf-8") |
16 | | - |
17 | | - from eval_protocol.cli_commands import local_test as lt |
18 | | - |
19 | | - dockerfiles = lt._find_dockerfiles(str(project)) |
20 | | - assert dockerfiles == [str(top_level)] |
21 | | - |
22 | | - |
23 | | -def test_find_dockerfiles_ignores_nested_only(tmp_path, monkeypatch): |
24 | | - # Project root without top-level Dockerfile but with nested ones – should return empty. |
25 | | - project = tmp_path / "proj" |
26 | | - project.mkdir() |
27 | | - nested_dir = project / "nested" |
28 | | - nested_dir.mkdir() |
29 | | - (nested_dir / "Dockerfile").write_text("FROM python:3.11-slim\n", encoding="utf-8") |
30 | | - |
31 | | - from eval_protocol.cli_commands import local_test as lt |
32 | | - |
33 | | - dockerfiles = lt._find_dockerfiles(str(project)) |
34 | | - assert dockerfiles == [] |
35 | | - |
36 | | - |
37 | 7 | def test_local_test_runs_host_pytest_with_entry(tmp_path, monkeypatch): |
38 | 8 | project = tmp_path / "proj" |
39 | 9 | project.mkdir() |
@@ -283,3 +253,33 @@ def _fake_host(target: str) -> int: |
283 | 253 | # Expect project-relative path plus selector |
284 | 254 | rel = os.path.relpath(str(test_file), str(project)) |
285 | 255 | assert captured["target"] == f"{rel}::test_dummy" |
| 256 | + |
| 257 | + |
| 258 | +def test_find_dockerfiles_top_level_only(tmp_path, monkeypatch): |
| 259 | + # Project root with both top-level and nested Dockerfiles – only top-level should be returned. |
| 260 | + project = tmp_path / "proj" |
| 261 | + project.mkdir() |
| 262 | + top_level = project / "Dockerfile" |
| 263 | + top_level.write_text("FROM python:3.11-slim\n", encoding="utf-8") |
| 264 | + nested_dir = project / "nested" |
| 265 | + nested_dir.mkdir() |
| 266 | + (nested_dir / "Dockerfile").write_text("FROM python:3.11-slim\n", encoding="utf-8") |
| 267 | + |
| 268 | + from eval_protocol.cli_commands import local_test as lt |
| 269 | + |
| 270 | + dockerfiles = lt._find_dockerfiles(str(project)) |
| 271 | + assert dockerfiles == [str(top_level)] |
| 272 | + |
| 273 | + |
| 274 | +def test_find_dockerfiles_ignores_nested_only(tmp_path, monkeypatch): |
| 275 | + # Project root without top-level Dockerfile but with nested ones – should return empty. |
| 276 | + project = tmp_path / "proj" |
| 277 | + project.mkdir() |
| 278 | + nested_dir = project / "nested" |
| 279 | + nested_dir.mkdir() |
| 280 | + (nested_dir / "Dockerfile").write_text("FROM python:3.11-slim\n", encoding="utf-8") |
| 281 | + |
| 282 | + from eval_protocol.cli_commands import local_test as lt |
| 283 | + |
| 284 | + dockerfiles = lt._find_dockerfiles(str(project)) |
| 285 | + assert dockerfiles == [] |
0 commit comments