@@ -65,6 +65,42 @@ def test_project_root_in_sys_path() -> None:
65
65
assert sys .path == [PROJECT_ROOT_DIR ]
66
66
67
67
68
+ def test_discover_package_path_source_root_as_parent (tmp_path : Any ) -> None :
69
+ """Test discover_package_path when source root is a parent of the module."""
70
+ # Create this temporary structure:
71
+ # /tmp_path/
72
+ # └── project/
73
+ # └── my-package/
74
+ # └── __init__.py
75
+ project_dir = tmp_path / "project"
76
+ package_dir = project_dir / "mypackage"
77
+ package_dir .mkdir (parents = True )
78
+ (package_dir / "__init__.py" ).touch ()
79
+
80
+ # Test with project_dir as source root (parent of package)
81
+ result = discover_package_path (str (package_dir ), [str (project_dir )])
82
+ assert result == str (project_dir )
83
+
84
+
85
+ def test_discover_package_path_source_root_as_child (tmp_path : Any ) -> None :
86
+ """Test discover_package_path when source root is a child of the module."""
87
+ # Create this temporary structure:
88
+ # /tmp_path/
89
+ # └── project/
90
+ # └── src/
91
+ # └── my-package/
92
+ # └── __init__.py
93
+ project_dir = tmp_path / "project"
94
+ src_dir = project_dir / "src"
95
+ package_dir = src_dir / "mypackage"
96
+ package_dir .mkdir (parents = True )
97
+ (package_dir / "__init__.py" ).touch ()
98
+
99
+ # Test with src_dir as source root (child of project)
100
+ result = discover_package_path (str (project_dir ), [str (src_dir )])
101
+ assert result == str (src_dir )
102
+
103
+
68
104
@mock .patch ("pylint.pyreverse.main.Linker" , new = mock .MagicMock ())
69
105
@mock .patch ("pylint.pyreverse.main.DiadefsHandler" , new = mock .MagicMock ())
70
106
@mock .patch ("pylint.pyreverse.main.writer" )
0 commit comments