Rename MetaData to Metadata
This commit is contained in:
parent
c38405ef83
commit
0fa815f2b8
@ -1,7 +1,7 @@
|
||||
//! Corpuses contain the testcases, either in memory, on disk, or somewhere else.
|
||||
|
||||
pub mod testcase;
|
||||
pub use testcase::{SchedulerTestcaseMetaData, Testcase};
|
||||
pub use testcase::{SchedulerTestcaseMetadata, Testcase};
|
||||
|
||||
pub mod inmemory;
|
||||
pub use inmemory::InMemoryCorpus;
|
||||
|
@ -289,7 +289,7 @@ where
|
||||
|
||||
/// The Metadata for each testcase used in power schedules.
|
||||
#[derive(Serialize, Deserialize, Clone, Debug)]
|
||||
pub struct SchedulerTestcaseMetaData {
|
||||
pub struct SchedulerTestcaseMetadata {
|
||||
/// Number of bits set in bitmap, updated in calibrate_case
|
||||
bitmap_size: u64,
|
||||
/// Number of queue cycles behind
|
||||
@ -302,8 +302,8 @@ pub struct SchedulerTestcaseMetaData {
|
||||
cycle_and_time: (Duration, usize),
|
||||
}
|
||||
|
||||
impl SchedulerTestcaseMetaData {
|
||||
/// Create new [`struct@SchedulerTestcaseMetaData`]
|
||||
impl SchedulerTestcaseMetadata {
|
||||
/// Create new [`struct@SchedulerTestcaseMetadata`]
|
||||
#[must_use]
|
||||
pub fn new(depth: u64) -> Self {
|
||||
Self {
|
||||
@ -315,7 +315,7 @@ impl SchedulerTestcaseMetaData {
|
||||
}
|
||||
}
|
||||
|
||||
/// Create new [`struct@SchedulerTestcaseMetaData`] given `n_fuzz_entry`
|
||||
/// Create new [`struct@SchedulerTestcaseMetadata`] given `n_fuzz_entry`
|
||||
#[must_use]
|
||||
pub fn with_n_fuzz_entry(depth: u64, n_fuzz_entry: usize) -> Self {
|
||||
Self {
|
||||
@ -393,7 +393,7 @@ impl SchedulerTestcaseMetaData {
|
||||
}
|
||||
}
|
||||
|
||||
crate::impl_serdeany!(SchedulerTestcaseMetaData);
|
||||
crate::impl_serdeany!(SchedulerTestcaseMetadata);
|
||||
|
||||
#[cfg(feature = "python")]
|
||||
#[allow(missing_docs)]
|
||||
|
@ -6,7 +6,7 @@ use core::marker::PhantomData;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
corpus::{Corpus, CorpusId, SchedulerTestcaseMetaData, Testcase},
|
||||
corpus::{Corpus, CorpusId, SchedulerTestcaseMetadata, Testcase},
|
||||
inputs::UsesInput,
|
||||
observers::{MapObserver, ObserversTuple},
|
||||
schedulers::{powersched::SchedulerMetadata, testcase_score::TestcaseScore, Scheduler},
|
||||
@ -275,19 +275,19 @@ where
|
||||
.get(parent_idx)?
|
||||
.borrow_mut()
|
||||
.metadata_map_mut()
|
||||
.get_mut::<SchedulerTestcaseMetaData>()
|
||||
.get_mut::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?
|
||||
.depth(),
|
||||
None => 0,
|
||||
};
|
||||
|
||||
// Attach a `SchedulerTestcaseMetaData` to the queue entry.
|
||||
// Attach a `SchedulerTestcaseMetadata` to the queue entry.
|
||||
depth += 1;
|
||||
{
|
||||
let mut testcase = state.corpus().get(idx)?.borrow_mut();
|
||||
testcase.add_metadata(SchedulerTestcaseMetaData::with_n_fuzz_entry(
|
||||
testcase.add_metadata(SchedulerTestcaseMetadata::with_n_fuzz_entry(
|
||||
depth,
|
||||
self.last_hash,
|
||||
));
|
||||
@ -351,9 +351,9 @@ where
|
||||
.get(id)?
|
||||
.borrow()
|
||||
.metadata_map()
|
||||
.get::<SchedulerTestcaseMetaData>()
|
||||
.get::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?
|
||||
.n_fuzz_entry();
|
||||
if entry == hash {
|
||||
|
@ -9,7 +9,7 @@ use core::{marker::PhantomData, time::Duration};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
corpus::{Corpus, CorpusId, SchedulerTestcaseMetaData, Testcase},
|
||||
corpus::{Corpus, CorpusId, SchedulerTestcaseMetadata, Testcase},
|
||||
inputs::UsesInput,
|
||||
observers::{MapObserver, ObserversTuple},
|
||||
schedulers::{RemovableScheduler, Scheduler},
|
||||
@ -192,9 +192,9 @@ where
|
||||
) -> Result<(), Error> {
|
||||
let prev_meta = prev
|
||||
.metadata_map()
|
||||
.get::<SchedulerTestcaseMetaData>()
|
||||
.get::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?;
|
||||
|
||||
// Next depth is + 1
|
||||
@ -221,7 +221,7 @@ where
|
||||
.corpus()
|
||||
.get(idx)?
|
||||
.borrow_mut()
|
||||
.add_metadata(SchedulerTestcaseMetaData::new(prev_depth));
|
||||
.add_metadata(SchedulerTestcaseMetadata::new(prev_depth));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@ -240,9 +240,9 @@ where
|
||||
|
||||
let prev_meta = prev
|
||||
.metadata_map()
|
||||
.get::<SchedulerTestcaseMetaData>()
|
||||
.get::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?;
|
||||
|
||||
// Use these to adjust `SchedulerMetadata`
|
||||
@ -280,9 +280,9 @@ where
|
||||
.get(parent_idx)?
|
||||
.borrow()
|
||||
.metadata_map()
|
||||
.get::<SchedulerTestcaseMetaData>()
|
||||
.get::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?
|
||||
.depth(),
|
||||
None => 0,
|
||||
@ -291,10 +291,10 @@ where
|
||||
// TODO increase perf_score when finding new things like in AFL
|
||||
// https://github.com/google/AFL/blob/master/afl-fuzz.c#L6547
|
||||
|
||||
// Attach a `SchedulerTestcaseMetaData` to the queue entry.
|
||||
// Attach a `SchedulerTestcaseMetadata` to the queue entry.
|
||||
depth += 1;
|
||||
let mut testcase = state.corpus().get(idx)?.borrow_mut();
|
||||
testcase.add_metadata(SchedulerTestcaseMetaData::with_n_fuzz_entry(
|
||||
testcase.add_metadata(SchedulerTestcaseMetadata::with_n_fuzz_entry(
|
||||
depth,
|
||||
self.last_hash,
|
||||
));
|
||||
@ -375,9 +375,9 @@ where
|
||||
|
||||
let tcmeta = testcase
|
||||
.metadata_map_mut()
|
||||
.get_mut::<SchedulerTestcaseMetaData>()
|
||||
.get_mut::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?;
|
||||
|
||||
if tcmeta.handicap() >= 4 {
|
||||
|
@ -4,7 +4,7 @@ use core::marker::PhantomData;
|
||||
|
||||
use crate::{
|
||||
bolts::{HasLen, HasRefCnt},
|
||||
corpus::{Corpus, SchedulerTestcaseMetaData, Testcase},
|
||||
corpus::{Corpus, SchedulerTestcaseMetadata, Testcase},
|
||||
feedbacks::MapIndexesMetadata,
|
||||
schedulers::{
|
||||
minimizer::{IsFavoredMetadata, TopRatedsMetadata},
|
||||
@ -81,10 +81,10 @@ where
|
||||
let n_fuzz_entry = if cur_index == idx {
|
||||
entry
|
||||
.metadata_map()
|
||||
.get::<SchedulerTestcaseMetaData>()
|
||||
.get::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found(
|
||||
"SchedulerTestcaseMetaData not found".to_string(),
|
||||
"SchedulerTestcaseMetadata not found".to_string(),
|
||||
)
|
||||
})?
|
||||
.n_fuzz_entry()
|
||||
@ -93,10 +93,10 @@ where
|
||||
.get(idx)?
|
||||
.borrow()
|
||||
.metadata_map()
|
||||
.get::<SchedulerTestcaseMetaData>()
|
||||
.get::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found(
|
||||
"SchedulerTestcaseMetaData not found".to_string(),
|
||||
"SchedulerTestcaseMetadata not found".to_string(),
|
||||
)
|
||||
})?
|
||||
.n_fuzz_entry()
|
||||
@ -130,9 +130,9 @@ where
|
||||
let favored = entry.has_metadata::<IsFavoredMetadata>();
|
||||
let tcmeta = entry
|
||||
.metadata_map()
|
||||
.get::<SchedulerTestcaseMetaData>()
|
||||
.get::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?;
|
||||
|
||||
if q_exec_us * 0.1 > avg_exec_us {
|
||||
@ -302,9 +302,9 @@ where
|
||||
|
||||
let tcmeta = entry
|
||||
.metadata_map()
|
||||
.get::<SchedulerTestcaseMetaData>()
|
||||
.get::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?;
|
||||
|
||||
// This means that this testcase has never gone through the calibration stage before1,
|
||||
|
@ -9,7 +9,7 @@ use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
bolts::rands::Rand,
|
||||
corpus::{Corpus, CorpusId, SchedulerTestcaseMetaData},
|
||||
corpus::{Corpus, CorpusId, SchedulerTestcaseMetadata},
|
||||
inputs::UsesInput,
|
||||
observers::{MapObserver, ObserversTuple},
|
||||
random_corpus_id,
|
||||
@ -250,9 +250,9 @@ where
|
||||
|
||||
let prev_meta = prev
|
||||
.metadata_map()
|
||||
.get::<SchedulerTestcaseMetaData>()
|
||||
.get::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?;
|
||||
|
||||
// Use these to adjust `SchedulerMetadata`
|
||||
@ -283,9 +283,9 @@ where
|
||||
) -> Result<(), Error> {
|
||||
let prev_meta = prev
|
||||
.metadata_map()
|
||||
.get::<SchedulerTestcaseMetaData>()
|
||||
.get::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?;
|
||||
|
||||
// Next depth is + 1
|
||||
@ -312,7 +312,7 @@ where
|
||||
.corpus()
|
||||
.get(idx)?
|
||||
.borrow_mut()
|
||||
.add_metadata(SchedulerTestcaseMetaData::new(prev_depth));
|
||||
.add_metadata(SchedulerTestcaseMetadata::new(prev_depth));
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
@ -333,19 +333,19 @@ where
|
||||
.get(parent_idx)?
|
||||
.borrow_mut()
|
||||
.metadata_map_mut()
|
||||
.get_mut::<SchedulerTestcaseMetaData>()
|
||||
.get_mut::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?
|
||||
.depth(),
|
||||
None => 0,
|
||||
};
|
||||
|
||||
// Attach a `SchedulerTestcaseMetaData` to the queue entry.
|
||||
// Attach a `SchedulerTestcaseMetadata` to the queue entry.
|
||||
depth += 1;
|
||||
{
|
||||
let mut testcase = state.corpus().get(idx)?.borrow_mut();
|
||||
testcase.add_metadata(SchedulerTestcaseMetaData::with_n_fuzz_entry(
|
||||
testcase.add_metadata(SchedulerTestcaseMetadata::with_n_fuzz_entry(
|
||||
depth,
|
||||
self.last_hash,
|
||||
));
|
||||
@ -455,9 +455,9 @@ where
|
||||
|
||||
let tcmeta = testcase
|
||||
.metadata_map_mut()
|
||||
.get_mut::<SchedulerTestcaseMetaData>()
|
||||
.get_mut::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?;
|
||||
|
||||
if tcmeta.handicap() >= 4 {
|
||||
|
@ -12,7 +12,7 @@ use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{
|
||||
bolts::{current_time, tuples::Named, AsIter},
|
||||
corpus::{Corpus, CorpusId, SchedulerTestcaseMetaData},
|
||||
corpus::{Corpus, CorpusId, SchedulerTestcaseMetadata},
|
||||
events::{Event, EventFirer, LogSeverity},
|
||||
executors::{Executor, ExitKind, HasObservers},
|
||||
feedbacks::{map::MapFeedbackMetadata, HasObserverName},
|
||||
@ -251,7 +251,7 @@ where
|
||||
.corpus()
|
||||
.get(corpus_idx)?
|
||||
.borrow()
|
||||
.has_metadata::<SchedulerTestcaseMetaData>();
|
||||
.has_metadata::<SchedulerTestcaseMetadata>();
|
||||
|
||||
if use_powerschedule {
|
||||
let map = executor
|
||||
@ -282,9 +282,9 @@ where
|
||||
|
||||
let data = testcase
|
||||
.metadata_map_mut()
|
||||
.get_mut::<SchedulerTestcaseMetaData>()
|
||||
.get_mut::<SchedulerTestcaseMetadata>()
|
||||
.ok_or_else(|| {
|
||||
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string())
|
||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
||||
})?;
|
||||
|
||||
data.set_cycle_and_time((total_time, iter));
|
||||
|
@ -346,10 +346,10 @@ where
|
||||
mod tests {
|
||||
use crate::cfg::{ControlFlowGraph, HasWeight};
|
||||
|
||||
struct TestMetaData {}
|
||||
struct TestMetadata {}
|
||||
|
||||
impl HasWeight<TestMetaData> for TestMetaData {
|
||||
fn compute(_metadata: Option<&TestMetaData>) -> u32 {
|
||||
impl HasWeight<TestMetadata> for TestMetadata {
|
||||
fn compute(_metadata: Option<&TestMetadata>) -> u32 {
|
||||
1
|
||||
}
|
||||
}
|
||||
@ -364,7 +364,7 @@ mod tests {
|
||||
#[test]
|
||||
#[cfg_attr(miri, ignore)] // Testcase takes long in miri.
|
||||
fn test_basic_cfg_from_str() {
|
||||
let cfg: ControlFlowGraph<TestMetaData> = ControlFlowGraph::from_content(TEST_GRAPH_STR);
|
||||
let cfg: ControlFlowGraph<TestMetadata> = ControlFlowGraph::from_content(TEST_GRAPH_STR);
|
||||
let entry = cfg.get_entry("main").unwrap();
|
||||
assert_eq!(entry.calling_func, "main");
|
||||
assert_eq!(entry.successor_edges.len(), 2);
|
||||
@ -394,7 +394,7 @@ mod tests {
|
||||
#[test]
|
||||
#[cfg_attr(miri, ignore)] // Testcase takes too long in miri. :/
|
||||
fn test_shortest_path() {
|
||||
let cfg: ControlFlowGraph<TestMetaData> = ControlFlowGraph::from_content(TEST_GRAPH_STR);
|
||||
let cfg: ControlFlowGraph<TestMetadata> = ControlFlowGraph::from_content(TEST_GRAPH_STR);
|
||||
let distances = cfg.calculate_distances_to_all_edges((41864 >> 1) ^ 26911);
|
||||
assert_eq!(*distances.get(&((41864 >> 1) ^ 26911)).unwrap(), 1);
|
||||
assert_eq!(*distances.get(&((26911 >> 1) ^ 52706)).unwrap(), 2);
|
||||
|
Loading…
x
Reference in New Issue
Block a user