From 73af5b2824002efdb9245a99304dd3d6a66ba7a1 Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Thu, 28 Jul 2022 18:09:38 +1000 Subject: [PATCH] Test appending behavior of `append_to_path` Signed-off-by: Jiahao XU --- src/metafiles/binstall_v1.rs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) 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); } }