Expand description
Corpuses contain the testcases, either in memory, on disk, or somewhere else.
Re-exports
pub use testcase::HasTestcase;
pub use testcase::SchedulerTestcaseMetadata;
pub use testcase::Testcase;
pub use inmemory::InMemoryCorpus;
pub use inmemory_ondisk::InMemoryOnDiskCorpus;
pub use ondisk::OnDiskCorpus;
pub use cached::CachedOnDiskCorpus;
pub use nop::NopCorpus;
pub use minimizer::*;
Modules
- The
CachedOnDiskCorpus
storesTestcase
s to disk, keeping a subset of them in memory/cache, evicting in a FIFO manner. - In-memory corpus, keeps all test cases in memory at all times
- The
InMemoryOnDiskCorpus
storesTestcase
s to disk. Additionally, all of them are kept in memory. For a lower memory footprint, consider usingcrate::corpus::CachedOnDiskCorpus
which only stores a certain number ofTestcase
s and removes additional ones in a FIFO manner. - Whole corpus minimizers, for reducing the number of samples/the total size/the average runtime of your corpus.
- The null corpus does not store any
Testcase
s. - The ondisk corpus stores all
Testcase
s to disk. It never keeps any of them in memory. This is a good solution for solutions that are never reused, and for very memory-constraint environments. For any other occasions, consider usingcrate::corpus::CachedOnDiskCorpus
which stores a certain number of testcases in memory and removes additional ones in a FIFO manner. Corpus
Python bindings- The testcase is a struct embedded in each corpus. It will contain a respective input, and metadata.
Structs
- An abstraction for the index that identify a testcase in the corpus
Traits
- Corpus with all current
Testcase
s, or solutions