diff --git a/src/metafiles/binstall_v1.rs b/src/metafiles/binstall_v1.rs index 5bb0e61c..4681dd0f 100644 --- a/src/metafiles/binstall_v1.rs +++ b/src/metafiles/binstall_v1.rs @@ -267,7 +267,7 @@ mod test { version_req: "*".into(), current_version: Version::new(0, 2, 0), source: Source::cratesio_registry(), - target, + target: target.clone(), bins: vec!["1".into()], }, ]; @@ -289,5 +289,21 @@ mod test { metadata_set.remove("b"); let records = Records::load_from_path(&path).unwrap(); assert_records_eq!(&records, &metadata_set); + // Drop the exclusive file lock + drop(records); + + let new_metadata = MetaData { + name: "b".into(), + version_req: "0.1.0".into(), + current_version: Version::new(0, 1, 1), + source: Source::cratesio_registry(), + target, + bins: vec!["1".into(), "2".into()], + }; + append_to_path(&path, [new_metadata.clone()]).unwrap(); + metadata_set.insert(new_metadata); + + let records = Records::load_from_path(&path).unwrap(); + assert_records_eq!(&records, &metadata_set); } }