fix: tests in ci (#18)

This commit is contained in:
Neil Hansen
2025-01-14 11:58:01 -08:00
committed by Stu Hood
parent a35e3dcb5a
commit ffa558e3a9
4 changed files with 41 additions and 24 deletions

View File

@@ -1089,7 +1089,10 @@ mod tests {
index_writer.commit()?;
reader.reload().unwrap();
assert_eq!(num_docs_containing("a"), 0);
// In Tantivy upstream, this test results in 0 segments after delete.
// However, due to our custom, visibility rules, we leave the segment.
// See committed_segment_metas in segment_manager.rs.
assert_eq!(num_docs_containing("a"), 1);
index_writer.merge(&segments);
index_writer.wait_merging_threads().unwrap();
@@ -1135,7 +1138,10 @@ mod tests {
index_writer.commit()?;
reader.reload().unwrap();
assert_eq!(num_docs_containing("a"), 0);
// In Tantivy upstream, this test results in 0 segments after delete.
// However, due to our custom, visibility rules, we leave the segment.
// See committed_segment_metas in segment_manager.rs.
assert_eq!(num_docs_containing("a"), 4);
index_writer.merge(&segments);
index_writer.wait_merging_threads().unwrap();

View File

@@ -1032,12 +1032,15 @@ mod tests {
// Test removing all docs
index_writer.delete_term(Term::from_field_text(text_field, "g"));
index_writer.commit()?;
let segment_ids = index.searchable_segment_ids()?;
let _segment_ids = index.searchable_segment_ids()?;
reader.reload()?;
let searcher = reader.searcher();
assert!(segment_ids.is_empty());
assert!(searcher.segment_readers().is_empty());
// In Tantivy upstream, this test results in 0 segments after delete.
// However, due to our custom, visibility rules, we leave the segment.
// See committed_segment_metas in segment_manager.rs.
// assert!(segment_ids.is_empty());
// assert!(searcher.segment_readers().is_empty());
assert_eq!(searcher.num_docs(), 0);
}
Ok(())

View File

@@ -810,9 +810,11 @@ mod tests {
}
index_writer.commit()?;
let seg_ids = index.searchable_segment_ids()?;
// docs exist, should have at least 1 segment
assert!(!seg_ids.is_empty());
let _seg_ids = index.searchable_segment_ids()?;
// In Tantivy upstream, this test results in 0 segments after delete.
// However, due to our custom, visibility rules, we leave the segment.
// See committed_segment_metas in segment_manager.rs.
// assert!(!seg_ids.is_empty());
let term = Term::from_field_text(text_field, "a");
index_writer.delete_term(term);
@@ -827,14 +829,15 @@ mod tests {
let reader = index.reader()?;
assert_eq!(reader.searcher().num_docs(), 0);
let seg_ids = index.searchable_segment_ids()?;
assert!(seg_ids.is_empty());
let _seg_ids = index.searchable_segment_ids()?;
// Skipped due to custom ParadeDB visibility rules.
// assert!(seg_ids.is_empty());
reader.reload()?;
assert_eq!(reader.searcher().num_docs(), 0);
// empty segments should be erased
assert!(index.searchable_segment_metas()?.is_empty());
assert!(reader.searcher().segment_readers().is_empty());
// Skipped due to custom ParadeDB visibility rules.
// assert!(index.searchable_segment_metas()?.is_empty());
// assert!(reader.searcher().segment_readers().is_empty());
Ok(())
}
@@ -864,9 +867,11 @@ mod tests {
index_writer.add_document(doc!(text_field=>"f"))?;
index_writer.commit()?;
let seg_ids = index.searchable_segment_ids()?;
// docs exist, should have at least 1 segment
assert!(!seg_ids.is_empty());
let _seg_ids = index.searchable_segment_ids()?;
// In Tantivy upstream, this test results in 0 segments after delete.
// However, due to our custom, visibility rules, we leave the segment.
// See committed_segment_metas in segment_manager.rs.
// assert!(!seg_ids.is_empty());
let term_vals = vec!["a", "b", "c", "d", "e", "f"];
for term_val in term_vals {
@@ -880,14 +885,15 @@ mod tests {
let reader = index.reader()?;
assert_eq!(reader.searcher().num_docs(), 0);
let seg_ids = index.searchable_segment_ids()?;
assert!(seg_ids.is_empty());
let _seg_ids = index.searchable_segment_ids()?;
// Skipped due to custom ParadeDB visibility rules.
// assert!(seg_ids.is_empty());
reader.reload()?;
assert_eq!(reader.searcher().num_docs(), 0);
// empty segments should be erased
assert!(index.searchable_segment_metas()?.is_empty());
assert!(reader.searcher().segment_readers().is_empty());
// Skipped due to custom ParadeDB visibility rules.
// assert!(index.searchable_segment_metas()?.is_empty());
// assert!(reader.searcher().segment_readers().is_empty());
Ok(())
}

View File

@@ -491,10 +491,12 @@ pub(crate) mod tests {
}
let searcher = index.reader()?.searcher();
// finally, check that it's empty
// In Tantivy upstream, this test results in 0 segments after delete.
// However, due to our custom, visibility rules, we leave the segment.
// See committed_segment_metas in segment_manager.rs.
{
let searchable_segment_ids = index.searchable_segment_ids()?;
assert!(searchable_segment_ids.is_empty());
let _searchable_segment_ids = index.searchable_segment_ids()?;
// assert!(searchable_segment_ids.is_empty());
assert_eq!(searcher.num_docs(), 0);
}
Ok(())