Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion justfile
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ docs *args='--open':
# Print environment info
env-info:
@echo "Running {{if ci_mode == '1' {'in CI mode'} else {'in dev mode'} }} on {{os()}} / {{arch()}}"
@echo "PWD $(pwd)"
@echo "PWD {{justfile_directory()}}"
{{just}} --version
rustc --version
cargo --version
Expand Down
54 changes: 43 additions & 11 deletions mbtiles/tests/copy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,8 @@ async fn convert(
path(&frm_mbt),
path(&mem),
dst_type_cli => Some(dst_type),
}
},
"Converting format {frm} to {to} (copying both metadata and tiles) should match expected v1 database",
);

let dmp = copy_dump! {
Expand Down Expand Up @@ -490,7 +491,8 @@ async fn convert(
path(&mem),
dst_type_cli => Some(dst_type),
min_zoom => Some(6),
}
},
"Filtering with zoom_levels=[6] should match min_zoom=6",
);

pretty_assert_eq!(
Expand All @@ -501,7 +503,8 @@ async fn convert(
dst_type_cli => Some(dst_type),
min_zoom => Some(6),
max_zoom => Some(6),
}
},
"Filtering with zoom_levels=[6] should match min_zoom=6 and max_zoom=6",
);

Ok(())
Expand Down Expand Up @@ -541,7 +544,8 @@ async fn diff_and_patch(
};
pretty_assert_eq!(
&dump(&mut dif_cn).await?,
databases.dump(dif_db, dif_type.unwrap_or(a_type))
databases.dump(dif_db, dif_type.unwrap_or(a_type)),
"Diff file should contain only the changes between {a_db} and {b_db}",
);

for dst_type in destination_types {
Expand All @@ -555,9 +559,17 @@ async fn diff_and_patch(
copy!(databases.path(a_db, *dst_type), path(&clone_mbt));
apply_patch(path(&clone_mbt), path(&dif_mbt), false).await?;
let hash = clone_mbt.open_and_validate(Off, Verify).await?;
assert_eq!(hash, databases.hash(b_db, *dst_type));
assert_eq!(
hash,
databases.hash(b_db, *dst_type),
"After applying patch, hash should match target database {b_db}",
);
let dmp = dump(&mut clone_cn).await?;
pretty_assert_eq!(&dmp, expected_b);
pretty_assert_eq!(
&dmp,
expected_b,
"After applying patch to {a_db}, content should match {b_db}",
);

eprintln!(
"TEST: Applying the difference ({b_db} - {a_db} = {dif_db}) to {b_db}, should not modify it"
Expand All @@ -566,9 +578,17 @@ async fn diff_and_patch(
copy!(databases.path(b_db, *dst_type), path(&clone_mbt));
apply_patch(path(&clone_mbt), path(&dif_mbt), true).await?;
let hash = clone_mbt.open_and_validate(Off, Verify).await?;
assert_eq!(hash, databases.hash(b_db, *dst_type));
assert_eq!(
hash,
databases.hash(b_db, *dst_type),
"After applying patch to target {b_db}, hash should remain unchanged",
);
let dmp = dump(&mut clone_cn).await?;
pretty_assert_eq!(&dmp, expected_b);
pretty_assert_eq!(
&dmp,
expected_b,
"After applying patch to {b_db}, content should remain unchanged",
);
}

Ok(())
Expand Down Expand Up @@ -608,7 +628,11 @@ async fn diff_and_patch_bsdiff(
diff_with_file => Some((databases.path(b_db, b_type), patch_type.into())),
dst_type_cli => Some(dif_type),
};
pretty_assert_eq!(&dump(&mut dif_cn).await?, databases.dump(dif_db, dif_type));
pretty_assert_eq!(
&dump(&mut dif_cn).await?,
databases.dump(dif_db, dif_type),
"Binary diff file should match expected {dif_db} format",
);

let prefix = format!("{prefix}__to__{}", shorten(dst_type));
let (b_mbt, mut b_cn) = open!(diff_and_patch_bsdiff, "{prefix}__{b_db}");
Expand All @@ -620,7 +644,11 @@ async fn diff_and_patch_bsdiff(
};
let actual = dump(&mut b_cn).await?;
let expected = databases.dump(b_db, dst_type);
pretty_assert_eq!(&actual, expected);
pretty_assert_eq!(
&actual,
expected,
"After applying binary diff patch, content should match {b_db}",
);

Ok(())
}
Expand All @@ -647,7 +675,11 @@ async fn patch_on_copy(
};
let actual = dump(&mut v2_cn).await?;
let expected = databases.dump("v2", v2_type.unwrap_or(v1_type));
pretty_assert_eq!(&actual, expected);
pretty_assert_eq!(
&actual,
expected,
"After copying v1 and applying patch, result should match v2",
);

Ok(())
}
Expand Down
Loading