From 1ab62a93c453064c2a3ca2fc9ee2348d4f53ff70 Mon Sep 17 00:00:00 2001 From: Bojan Serafimov Date: Wed, 24 May 2023 17:26:48 -0400 Subject: [PATCH] more tests --- .../layer_map/historic_layer_coverage.rs | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/pageserver/src/tenant/layer_map/historic_layer_coverage.rs b/pageserver/src/tenant/layer_map/historic_layer_coverage.rs index 576f436131..bc9bf13a39 100644 --- a/pageserver/src/tenant/layer_map/historic_layer_coverage.rs +++ b/pageserver/src/tenant/layer_map/historic_layer_coverage.rs @@ -556,6 +556,7 @@ impl BufferedHistoricLayerCoverage { } /// Returns whether the layer with the given key was already inserted as redundant + #[allow(dead_code)] // This function should be used on startup to clean up. pub fn is_redundant(&self, key: &LayerKey) -> bool { if !self.buffer.is_empty() { panic!("rebuild pls") @@ -705,32 +706,30 @@ fn test_retroactive_simple() { #[test] fn test_redundant_layers() { - let mut map = BufferedHistoricLayerCoverage::new(); + for i in 0..10 { + for j in 0..10 { + let key1 = LayerKey { + key: i..(i+2), + lsn: j..(j+2), + is_image: false, + }; + let key2 = LayerKey { + key: 3..6, + lsn: 3..6, + is_image: false, + }; + let is_redundant = i >= 3 && i + 2 <= 6 && j >= 3 && j + 2 <= 6; - let key1 = LayerKey { - key: 3..5, - lsn: 3..5, - is_image: false, - }; - let key2 = LayerKey { - key: 0..10, - lsn: 0..10, - is_image: false, - }; - - // Append some images in increasing LSN order - map.insert(key1.clone(), "Delta 1".to_string()); - map.insert(key2.clone(), "Delta 2".to_string()); - - // Rebuild so we can start querying - map.rebuild(); - - // Check that key1 is redundant - assert_eq!(map.is_redundant(&key1), true); - assert_eq!(map.is_redundant(&key2), false); + let mut map = BufferedHistoricLayerCoverage::new(); + map.insert(key1.clone(), "Delta 1".to_string()); + map.insert(key2.clone(), "Delta 2".to_string()); + map.rebuild(); + assert_eq!(map.is_redundant(&key1), is_redundant); + assert_eq!(map.is_redundant(&key2), false); + } + } } - #[test] fn test_retroactive_replacement() { let mut map = BufferedHistoricLayerCoverage::new();