@@ -32,7 +32,7 @@ def verify_project_directory(
32
32
path : Path ,
33
33
package_name : str ,
34
34
package_path : str | Path ,
35
- include_from : str | None = None ,
35
+ is_flat : bool = False ,
36
36
) -> Poetry :
37
37
package_path = Path (package_path )
38
38
assert path .is_dir ()
@@ -49,13 +49,13 @@ def verify_project_directory(
49
49
poetry = Factory ().create_poetry (cwd = path )
50
50
assert poetry .package .name == package_name
51
51
52
- if include_from :
52
+ if is_flat :
53
+ package_include = {"include" : package_path .parts [0 ]}
54
+ else :
53
55
package_include = {
54
- "include" : package_path .relative_to (include_from ).parts [0 ],
55
- "from" : include_from ,
56
+ "include" : package_path .relative_to ("src" ).parts [0 ],
57
+ "from" : "src" ,
56
58
}
57
- else :
58
- package_include = {"include" : package_path .parts [0 ]}
59
59
60
60
name = poetry .package .name
61
61
packages = poetry .local_config .get ("packages" )
@@ -72,81 +72,87 @@ def verify_project_directory(
72
72
@pytest .mark .parametrize (
73
73
"options,directory,package_name,package_path,include_from" ,
74
74
[
75
- ([], "package" , "package" , "package" , None ),
76
- (["--src" ], "package" , "package" , "src/package" , "src" ),
75
+ (["--flat" ], "package" , "package" , "package" , None ),
76
+ ([], "package" , "package" , "src/package" , "src" ),
77
77
(
78
- ["--name namespace.package" ],
78
+ ["--flat" , "-- name namespace.package" ],
79
79
"namespace-package" ,
80
80
"namespace-package" ,
81
81
"namespace/package" ,
82
82
None ,
83
83
),
84
84
(
85
- ["--src" , "-- name namespace.package" ],
85
+ ["--name namespace.package" ],
86
86
"namespace-package" ,
87
87
"namespace-package" ,
88
88
"src/namespace/package" ,
89
89
"src" ,
90
90
),
91
91
(
92
- ["--name namespace.package_a" ],
92
+ ["--flat" , "-- name namespace.package_a" ],
93
93
"namespace-package_a" ,
94
94
"namespace-package-a" ,
95
95
"namespace/package_a" ,
96
96
None ,
97
97
),
98
98
(
99
- ["--src" , "-- name namespace.package_a" ],
99
+ ["--name namespace.package_a" ],
100
100
"namespace-package_a" ,
101
101
"namespace-package-a" ,
102
102
"src/namespace/package_a" ,
103
103
"src" ,
104
104
),
105
105
(
106
- ["--name namespace_package" ],
106
+ ["--flat" , "-- name namespace_package" ],
107
107
"namespace-package" ,
108
108
"namespace-package" ,
109
109
"namespace_package" ,
110
110
None ,
111
111
),
112
112
(
113
- ["--name namespace_package" , "--src" ],
113
+ ["--name namespace_package" ],
114
114
"namespace-package" ,
115
115
"namespace-package" ,
116
116
"src/namespace_package" ,
117
117
"src" ,
118
118
),
119
119
(
120
- ["--name namespace.package" ],
120
+ ["--flat" , "-- name namespace.package" ],
121
121
"package" ,
122
122
"namespace-package" ,
123
123
"namespace/package" ,
124
124
None ,
125
125
),
126
126
(
127
- ["--name namespace.package" , "--src" ],
127
+ ["--name namespace.package" ],
128
128
"package" ,
129
129
"namespace-package" ,
130
130
"src/namespace/package" ,
131
131
"src" ,
132
132
),
133
133
(
134
- ["--name namespace.package" ],
134
+ ["--name namespace.package" , "--flat" ],
135
135
"package" ,
136
136
"namespace-package" ,
137
137
"namespace/package" ,
138
138
None ,
139
139
),
140
140
(
141
- ["--name namespace.package" , "--src" ],
141
+ ["--name namespace.package" ],
142
142
"package" ,
143
143
"namespace-package" ,
144
144
"src/namespace/package" ,
145
145
"src" ,
146
146
),
147
- ([], "namespace_package" , "namespace-package" , "namespace_package" , None ),
148
147
(
149
- ["--src" , "--name namespace_package" ],
148
+ ["--flat" ],
149
+ "namespace_package" ,
150
+ "namespace-package" ,
151
+ "namespace_package" ,
152
+ None ,
153
+ ),
154
+ (
155
+ ["--name namespace_package" ],
150
156
"namespace_package" ,
151
157
"namespace-package" ,
152
158
"src/namespace_package" ,
@@ -166,7 +172,7 @@ def test_command_new(
166
172
path = tmp_path / directory
167
173
options .append (str (path ))
168
174
tester .execute (" " .join (options ))
169
- verify_project_directory (path , package_name , package_path , include_from )
175
+ verify_project_directory (path , package_name , package_path , "--flat" in options )
170
176
171
177
172
178
@pytest .mark .parametrize (("fmt" ,), [(None ,), ("md" ,), ("rst" ,), ("adoc" ,), ("creole" ,)])
@@ -182,7 +188,7 @@ def test_command_new_with_readme(
182
188
183
189
tester .execute (" " .join (options ))
184
190
185
- poetry = verify_project_directory (path , package , package , None )
191
+ poetry = verify_project_directory (path , package , Path ( "src" ) / package )
186
192
project_section = poetry .pyproject .data ["project" ]
187
193
assert isinstance (project_section , dict )
188
194
assert project_section ["readme" ] == f"README.{ fmt or 'md' } "
@@ -222,9 +228,9 @@ def test_respect_use_poetry_python_on_new(
222
228
223
229
224
230
def test_basic_interactive_new (
225
- tester : CommandTester , tmp_path : Path , init_basic_inputs : str , init_basic_toml : str
231
+ tester : CommandTester , tmp_path : Path , init_basic_inputs : str , new_basic_toml : str
226
232
) -> None :
227
233
path = tmp_path / "somepackage"
228
234
tester .execute (f"--interactive { path .as_posix ()} " , inputs = init_basic_inputs )
229
- verify_project_directory (path , "my-package" , "my_package" , None )
230
- assert init_basic_toml in tester .io .fetch_output ()
235
+ verify_project_directory (path , "my-package" , "src/ my_package" )
236
+ assert new_basic_toml in tester .io .fetch_output ()
0 commit comments