diff --git a/grovedb/src/tests/test_compaction_sizes.rs b/grovedb/src/tests/test_compaction_sizes.rs index 5f83e81ca..722d64395 100644 --- a/grovedb/src/tests/test_compaction_sizes.rs +++ b/grovedb/src/tests/test_compaction_sizes.rs @@ -21,7 +21,17 @@ mod tests { .expect("cannot read dir") .filter_map(|entry| entry.ok()) .filter(|entry| entry.path().extension().is_some_and(|ext| ext == extension)) - .map(|entry| entry.metadata().unwrap().len()) + // Background compaction can delete a file between the read_dir + // listing and the metadata() call; skip vanished files. + .filter_map(|entry| match entry.metadata() { + Ok(metadata) => Some(metadata), + Err(error) if error.kind() == std::io::ErrorKind::NotFound => None, + Err(error) => panic!( + "cannot read metadata for {}: {error}", + entry.path().display() + ), + }) + .map(|metadata| metadata.len()) .sum() }