Skip to content

Commit

Permalink
add ut
Browse files Browse the repository at this point in the history
  • Loading branch information
jiacai2050 committed Jul 3, 2023
1 parent f2d479c commit bddc27d
Showing 1 changed file with 42 additions and 1 deletion.
43 changes: 42 additions & 1 deletion analytic_engine/src/compaction/picker.rs
Original file line number Diff line number Diff line change
Expand Up @@ -940,7 +940,7 @@ mod tests {
#[test]
fn test_time_window_newest_bucket() {
let size_tiered_opts = SizeTieredCompactionOptions::default();
let tw_picker = TimeWindowPicker::default();
let tw_picker = TimeWindowPicker { pick_by_seq: false };
// old bucket have enough sst for compaction
{
let old_bucket = build_file_handles(vec![
Expand Down Expand Up @@ -978,6 +978,47 @@ mod tests {
}
}

#[test]
fn test_time_window_newest_bucket_for_seq() {
let size_tiered_opts = SizeTieredCompactionOptions::default();
let tw_picker = TimeWindowPicker { pick_by_seq: true };
// old bucket have enough sst for compaction
{
let old_bucket = build_file_handles(vec![
(102, TimeRange::new_unchecked_for_test(100, 200)),
(100, TimeRange::new_unchecked_for_test(100, 200)),
(101, TimeRange::new_unchecked_for_test(100, 200)),
]);
let new_bucket = build_file_handles(vec![
(200, TimeRange::new_unchecked_for_test(200, 300)),
(201, TimeRange::new_unchecked_for_test(200, 300)),
]);

let buckets = hash_map! { 100 => old_bucket, 200 => new_bucket };
let bucket = tw_picker
.newest_bucket(buckets, size_tiered_opts, 200)
.unwrap();
assert_eq!(
vec![102, 100, 101],
bucket.into_iter().map(|f| f.size()).collect::<Vec<_>>()
);
}

// old bucket have only 1 sst, which is not enough for compaction
{
let old_bucket =
build_file_handles(vec![(100, TimeRange::new_unchecked_for_test(100, 200))]);
let new_bucket = build_file_handles(vec![
(200, TimeRange::new_unchecked_for_test(200, 300)),
(201, TimeRange::new_unchecked_for_test(200, 300)),
]);

let buckets = hash_map! { 100 => old_bucket, 200 => new_bucket };
let bucket = tw_picker.newest_bucket(buckets, size_tiered_opts, 200);
assert_eq!(None, bucket);
}
}

#[test]
fn test_size_pick_by_max_seq() {
let input_files = build_file_handles_seq(vec![
Expand Down

0 comments on commit bddc27d

Please sign in to comment.