mirror of
https://github.com/rustfs/rustfs.git
synced 2026-09-05 19:55:37 +00:00
test(scanner): verify joint checkpoint coverage metadata
Co-Authored-By: heihutu <heihutu@gmail.com> Co-Authored-By: zhi22915 <qiuzgang@gmail.com>
This commit is contained in:
@@ -8631,7 +8631,8 @@ fn scoped_scan_remote_dirty_coverage_invalidates_local_bucket_current() {
|
||||
new_plan,
|
||||
crate::scanner_io::DataUsageCacheReuseOptions {
|
||||
require_source: true,
|
||||
tier_registry_generation: None
|
||||
tier_registry_generation: None,
|
||||
checkpoint_identity: None,
|
||||
},
|
||||
),
|
||||
crate::scanner_io::DataUsageCacheScanState::Prepared {
|
||||
|
||||
@@ -298,6 +298,20 @@ fn checkpoint_fixture_roundtrip_retains_verified_scope_but_old_reader_rebuilds()
|
||||
assert!(!old_view.info.snapshot_complete);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn checkpoint_fixture_optional_coverage_metadata_roundtrips_together() {
|
||||
let (mut cache, _) = bound_checkpoint();
|
||||
cache.info.scan_coverage_digest = Some(DataUsageScanPlanDigest([77; 32]));
|
||||
let encoded = cache.marshal_msg().expect("encode every optional coverage field");
|
||||
let decoded = DataUsageCache::unmarshal(&encoded).expect("decode combined W03/W04 metadata map");
|
||||
assert_eq!(decoded.info.scan_identity, cache.info.scan_identity);
|
||||
assert_eq!(decoded.info.scan_progress, cache.info.scan_progress);
|
||||
assert_eq!(decoded.info.scan_coverage_receipt, cache.info.scan_coverage_receipt);
|
||||
assert_eq!(decoded.info.scan_coverage_digest, cache.info.scan_coverage_digest);
|
||||
assert_eq!(decoded.validated_scan_frontier(), Some("bucket/static"));
|
||||
assert!(!decoded.info.snapshot_complete);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn checkpoint_fixture_unchanged_complete_plan_keeps_existing_rescan_policy() {
|
||||
let (mut cache, identity) = bound_checkpoint();
|
||||
|
||||
Reference in New Issue
Block a user