44import patcher
55
66
7- def test_setup_source_uses_repo_hint_instead_of_scanning_nested_git_repos (
7+ def test_setup_source_returns_download_root_when_git_exists (
88 monkeypatch , tmp_path : Path
99) -> None :
10+ """With mount-based API, worktree_dir is always download_root (src/)."""
1011 work_dir = tmp_path / "work"
1112 source_dir = work_dir / "src"
12- project_dir = source_dir / "mock-c"
13- other_repo_dir = source_dir / "vendored"
14- (project_dir / ".git" ).mkdir (parents = True )
15- (other_repo_dir / ".git" ).mkdir (parents = True )
13+ (source_dir / ".git" ).mkdir (parents = True )
1614
1715 monkeypatch .setattr (patcher , "WORK_DIR" , work_dir )
1816 monkeypatch .setattr (
1917 patcher ,
2018 "crs" ,
21- SimpleNamespace (download_source = lambda source_type , dst : project_dir ),
19+ SimpleNamespace (download_source = lambda source_type , dst : None ),
2220 )
2321
2422 calls : list [tuple [list [str ], Path | None ]] = []
@@ -31,23 +29,22 @@ def fake_run(cmd, cwd=None, capture_output=None, timeout=None):
3129
3230 resolved = patcher .setup_source ()
3331
34- assert resolved == project_dir
32+ assert resolved == source_dir . resolve ()
3533 assert ["git" , "init" ] not in [cmd for cmd , _ in calls ]
3634
3735
38- def test_setup_source_initializes_git_only_in_returned_project_dir (
36+ def test_setup_source_initializes_git_when_no_dotgit (
3937 monkeypatch , tmp_path : Path
4038) -> None :
4139 work_dir = tmp_path / "work"
4240 source_dir = work_dir / "src"
43- project_dir = source_dir / "mock-c"
44- project_dir .mkdir (parents = True )
41+ source_dir .mkdir (parents = True )
4542
4643 monkeypatch .setattr (patcher , "WORK_DIR" , work_dir )
4744 monkeypatch .setattr (
4845 patcher ,
4946 "crs" ,
50- SimpleNamespace (download_source = lambda source_type , dst : project_dir ),
47+ SimpleNamespace (download_source = lambda source_type , dst : None ),
5148 )
5249
5350 calls : list [tuple [list [str ], Path | None ]] = []
@@ -60,6 +57,5 @@ def fake_run(cmd, cwd=None, capture_output=None, timeout=None):
6057
6158 resolved = patcher .setup_source ()
6259
63- assert resolved == project_dir
64- assert (["git" , "init" ], project_dir ) in calls
65- assert (["git" , "init" ], source_dir ) not in calls
60+ assert resolved == source_dir .resolve ()
61+ assert (["git" , "init" ], source_dir .resolve ()) in calls
0 commit comments