Skip to content
This repository was archived by the owner on Apr 4, 2023. It is now read-only.

Write a limited fuzz test stressing combinations of index operations #735

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Add a fuzz test for index operations (clear, import, delete, settings)
It is very limited so far. It is meant to catch bugs with soft-deleted
document ids.
loiclec committed Dec 22, 2022
commit cd6f0de2bd04eb1e4917141dbb1aa9093a77e81e
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -16,5 +16,5 @@ milli/target/
## ... unreviewed
*.snap.new

# Fuzzcheck data for the facet indexing fuzz test
milli/fuzz/update::facet::incremental::fuzz::fuzz/
# Fuzzcheck data
milli/fuzz/*
1 change: 1 addition & 0 deletions filter-parser/src/lib.rs
Original file line number Diff line number Diff line change
@@ -38,6 +38,7 @@
//! field = _geoRadius(12, 13, 14)
//! ```
//!
#![feature(anonymous_lifetime_in_impl_trait)]

mod condition;
mod error;
2 changes: 1 addition & 1 deletion milli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -57,7 +57,7 @@ md5 = "0.7.0"
rand = {version = "0.8.5", features = ["small_rng"] }

[target.'cfg(fuzzing)'.dev-dependencies]
fuzzcheck = "0.12.1"
fuzzcheck = { path = "/Users/meilisearch/Documents/fuzzcheck-rs/fuzzcheck" }

[features]
default = [ "charabia/default" ]
2 changes: 1 addition & 1 deletion milli/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#![cfg_attr(all(test, fuzzing), feature(no_coverage))]
#![cfg_attr(all(test, fuzzing), feature(no_coverage, once_cell))]
#[macro_use]
pub mod documents;

504 changes: 504 additions & 0 deletions milli/src/update/fuzz.rs

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions milli/src/update/mod.rs
Original file line number Diff line number Diff line change
@@ -18,6 +18,8 @@ mod available_documents_ids;
mod clear_documents;
mod delete_documents;
pub(crate) mod facet;
#[cfg(all(fuzzing, test))]
mod fuzz;
mod index_documents;
mod indexer_config;
mod prefix_word_pairs;