Skip to content

Commit 641d229

Browse files
committed
Fixup! Integrate suggestion from review about the tests.
1 parent b065e91 commit 641d229

File tree

1 file changed

+27
-11
lines changed

1 file changed

+27
-11
lines changed

heed/src/env.rs

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -843,37 +843,47 @@ mod tests {
843843
let symlink_name = dir_symlink.path().join("babar.mdb.link");
844844
fs::create_dir_all(&env_name).unwrap();
845845

846-
std::os::unix::fs::symlink(&env_name, &symlink_name).unwrap();
847-
let _env = EnvOpenOptions::new()
846+
let env = EnvOpenOptions::new()
848847
.map_size(10 * 1024 * 1024) // 10MB
849-
.open(&symlink_name)
848+
.open(&env_name)
850849
.unwrap();
850+
assert_eq!(env_name, env.path());
851851

852-
let _env = EnvOpenOptions::new()
852+
std::os::unix::fs::symlink(&env_name, &symlink_name).unwrap();
853+
854+
let env = EnvOpenOptions::new()
853855
.map_size(10 * 1024 * 1024) // 10MB
854-
.open(&env_name)
856+
.open(&symlink_name)
855857
.unwrap();
858+
859+
// The path is recycle from the first opening of the env.
860+
assert_eq!(env_name, env.path());
856861
}
857862

858863
#[test]
859864
fn open_env_with_named_path_rename() {
860865
let dir = tempfile::tempdir().unwrap();
866+
// We make a tmp dir where to move the env to avoid directly writing to /tmp.
867+
// Windows CI had issue if not done.
868+
let moved_parent = tempfile::tempdir().unwrap();
861869

862870
let env_name = dir.path().join("babar.mdb");
863871
fs::create_dir_all(&env_name).unwrap();
864872

865-
let _env = EnvOpenOptions::new()
873+
let env = EnvOpenOptions::new()
866874
.map_size(10 * 1024 * 1024) // 10MB
867875
.open(&env_name)
868876
.unwrap();
877+
assert_eq!(env_name, env.path());
869878

870-
let env_renamed = dir.path().join("serafina.mdb");
879+
let env_renamed = moved_parent.path().join("serafina.mdb");
871880
std::fs::rename(&env_name, &env_renamed).unwrap();
872881

873-
let _env = EnvOpenOptions::new()
882+
let env = EnvOpenOptions::new()
874883
.map_size(10 * 1024 * 1024) // 10MB
875884
.open(&env_renamed)
876885
.unwrap();
886+
assert_eq!(env_name, env.path());
877887
}
878888

879889
#[test]
@@ -909,17 +919,23 @@ mod tests {
909919

910920
let mut envbuilder = EnvOpenOptions::new();
911921
unsafe { envbuilder.flag(crate::Flag::NoSubDir) };
912-
let _env = envbuilder
922+
let env = envbuilder
913923
.map_size(10 * 1024 * 1024) // 10MB
914924
.open(&env_name)
915925
.unwrap();
926+
assert_eq!(env_name, env.path());
927+
assert_ne!(symlink_name, env.path());
916928

917929
std::os::unix::fs::symlink(&dir.path(), &symlink_name).unwrap();
918930
let _env = envbuilder
919931
.map_size(10 * 1024 * 1024) // 10MB
920932
.open(&symlink_name)
921933
.unwrap();
922934

935+
// Checkout that we get the path of the first openning.
936+
assert_eq!(env_name, env.path());
937+
assert_ne!(symlink_name, env.path());
938+
923939
let _env = envbuilder
924940
.map_size(10 * 1024 * 1024) // 10MB
925941
.open(&env_name)
@@ -964,12 +980,12 @@ mod tests {
964980
fs::create_dir_all(&env_name).unwrap();
965981

966982
std::os::windows::fs::symlink_dir(&env_name, &symlink_name).unwrap();
967-
let _env = EnvOpenOptions::new()
983+
let env = EnvOpenOptions::new()
968984
.map_size(10 * 1024 * 1024) // 10MB
969985
.open(&symlink_name)
970986
.unwrap();
971987

972-
let _env = EnvOpenOptions::new()
988+
let env = EnvOpenOptions::new()
973989
.map_size(10 * 1024 * 1024) // 10MB
974990
.open(&env_name)
975991
.unwrap();

0 commit comments

Comments
 (0)