File tree Expand file tree Collapse file tree 2 files changed +59
-3
lines changed Expand file tree Collapse file tree 2 files changed +59
-3
lines changed Original file line number Diff line number Diff line change @@ -88,10 +88,19 @@ pub fn read_packages(
88
88
if all_packages. is_empty ( ) {
89
89
match errors. pop ( ) {
90
90
Some ( err) => Err ( err) ,
91
- None => Err ( anyhow:: format_err!(
92
- "Could not find Cargo.toml in `{}`" ,
91
+ None => {
92
+ if find_project_manifest_exact ( path, "cargo.toml" ) . is_ok ( ) {
93
+ Err ( anyhow:: format_err!(
94
+ "Could not find Cargo.toml in `{}`, but found cargo.toml please try to rename it to Cargo.toml" ,
93
95
path. display( )
94
- ) ) ,
96
+ ) )
97
+ } else {
98
+ Err ( anyhow:: format_err!(
99
+ "Could not find Cargo.toml in `{}`" ,
100
+ path. display( )
101
+ ) )
102
+ }
103
+ }
95
104
}
96
105
} else {
97
106
Ok ( all_packages. into_iter ( ) . map ( |( _, v) | v) . collect ( ) )
Original file line number Diff line number Diff line change @@ -244,6 +244,53 @@ fn missing() {
244
244
. run ( ) ;
245
245
}
246
246
247
+ #[ cargo_test]
248
+ fn pkg_missing_cargo_toml ( ) {
249
+ let p = project ( )
250
+ . file (
251
+ "Cargo1.toml" ,
252
+ r#"
253
+ [package]
254
+ name = "foo"
255
+ version = "0.1.0"
256
+ authors = []
257
+ "# ,
258
+ )
259
+ . file ( "src/main.rs" , "fn main() {}" )
260
+ . build ( ) ;
261
+
262
+ cargo_process ( "install" )
263
+ . arg ( p. root ( ) )
264
+ . with_status ( 101 )
265
+ . with_stderr (
266
+ "\
267
+ [UPDATING] [..] index
268
+ [ERROR] could not find `[..]` in registry `[..]` with version `*`
269
+ " ,
270
+ )
271
+ . run ( ) ;
272
+ }
273
+
274
+ #[ cargo_test]
275
+ #[ cfg( not( target_os = "macos" ) ) ]
276
+ fn git_repository_missing_cargo_toml ( ) {
277
+ let p = git:: repo ( & paths:: root ( ) . join ( "foo" ) )
278
+ . file ( "cargo.toml" , & basic_manifest ( "foo" , "0.1.0" ) )
279
+ . file ( "src/main.rs" , "fn main() {}" )
280
+ . build ( ) ;
281
+
282
+ cargo_process ( "install --git" )
283
+ . arg ( p. url ( ) . to_string ( ) )
284
+ . with_status ( 101 )
285
+ . with_stderr (
286
+ "\
287
+ [UPDATING] git repository [..]
288
+ [ERROR] Could not find Cargo.toml in `[..]`, but found cargo.toml please try to rename it to Cargo.toml
289
+ " ,
290
+ )
291
+ . run ( ) ;
292
+ }
293
+
247
294
#[ cargo_test]
248
295
fn missing_current_working_directory ( ) {
249
296
cargo_process ( "install ." )
You can’t perform that action at this time.
0 commit comments