Rename MetaData to Metadata

This commit is contained in:
Dongjia "toka" Zhang 2023-03-14 23:57:55 +09:00 committed by GitHub
parent c38405ef83
commit 0fa815f2b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 55 additions and 55 deletions

View File

@ -1,7 +1,7 @@
//! Corpuses contain the testcases, either in memory, on disk, or somewhere else. //! Corpuses contain the testcases, either in memory, on disk, or somewhere else.
pub mod testcase; pub mod testcase;
pub use testcase::{SchedulerTestcaseMetaData, Testcase}; pub use testcase::{SchedulerTestcaseMetadata, Testcase};
pub mod inmemory; pub mod inmemory;
pub use inmemory::InMemoryCorpus; pub use inmemory::InMemoryCorpus;

View File

@ -289,7 +289,7 @@ where
/// The Metadata for each testcase used in power schedules. /// The Metadata for each testcase used in power schedules.
#[derive(Serialize, Deserialize, Clone, Debug)] #[derive(Serialize, Deserialize, Clone, Debug)]
pub struct SchedulerTestcaseMetaData { pub struct SchedulerTestcaseMetadata {
/// Number of bits set in bitmap, updated in calibrate_case /// Number of bits set in bitmap, updated in calibrate_case
bitmap_size: u64, bitmap_size: u64,
/// Number of queue cycles behind /// Number of queue cycles behind
@ -302,8 +302,8 @@ pub struct SchedulerTestcaseMetaData {
cycle_and_time: (Duration, usize), cycle_and_time: (Duration, usize),
} }
impl SchedulerTestcaseMetaData { impl SchedulerTestcaseMetadata {
/// Create new [`struct@SchedulerTestcaseMetaData`] /// Create new [`struct@SchedulerTestcaseMetadata`]
#[must_use] #[must_use]
pub fn new(depth: u64) -> Self { pub fn new(depth: u64) -> Self {
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] #[must_use]
pub fn with_n_fuzz_entry(depth: u64, n_fuzz_entry: usize) -> Self { pub fn with_n_fuzz_entry(depth: u64, n_fuzz_entry: usize) -> Self {
Self { Self {
@ -393,7 +393,7 @@ impl SchedulerTestcaseMetaData {
} }
} }
crate::impl_serdeany!(SchedulerTestcaseMetaData); crate::impl_serdeany!(SchedulerTestcaseMetadata);
#[cfg(feature = "python")] #[cfg(feature = "python")]
#[allow(missing_docs)] #[allow(missing_docs)]

View File

@ -6,7 +6,7 @@ use core::marker::PhantomData;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::{ use crate::{
corpus::{Corpus, CorpusId, SchedulerTestcaseMetaData, Testcase}, corpus::{Corpus, CorpusId, SchedulerTestcaseMetadata, Testcase},
inputs::UsesInput, inputs::UsesInput,
observers::{MapObserver, ObserversTuple}, observers::{MapObserver, ObserversTuple},
schedulers::{powersched::SchedulerMetadata, testcase_score::TestcaseScore, Scheduler}, schedulers::{powersched::SchedulerMetadata, testcase_score::TestcaseScore, Scheduler},
@ -275,19 +275,19 @@ where
.get(parent_idx)? .get(parent_idx)?
.borrow_mut() .borrow_mut()
.metadata_map_mut() .metadata_map_mut()
.get_mut::<SchedulerTestcaseMetaData>() .get_mut::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .ok_or_else(|| {
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string()) Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
})? })?
.depth(), .depth(),
None => 0, None => 0,
}; };
// Attach a `SchedulerTestcaseMetaData` to the queue entry. // Attach a `SchedulerTestcaseMetadata` to the queue entry.
depth += 1; depth += 1;
{ {
let mut testcase = state.corpus().get(idx)?.borrow_mut(); 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, depth,
self.last_hash, self.last_hash,
)); ));
@ -351,9 +351,9 @@ where
.get(id)? .get(id)?
.borrow() .borrow()
.metadata_map() .metadata_map()
.get::<SchedulerTestcaseMetaData>() .get::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .ok_or_else(|| {
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string()) Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
})? })?
.n_fuzz_entry(); .n_fuzz_entry();
if entry == hash { if entry == hash {

View File

@ -9,7 +9,7 @@ use core::{marker::PhantomData, time::Duration};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use crate::{ use crate::{
corpus::{Corpus, CorpusId, SchedulerTestcaseMetaData, Testcase}, corpus::{Corpus, CorpusId, SchedulerTestcaseMetadata, Testcase},
inputs::UsesInput, inputs::UsesInput,
observers::{MapObserver, ObserversTuple}, observers::{MapObserver, ObserversTuple},
schedulers::{RemovableScheduler, Scheduler}, schedulers::{RemovableScheduler, Scheduler},
@ -192,9 +192,9 @@ where
) -> Result<(), Error> { ) -> Result<(), Error> {
let prev_meta = prev let prev_meta = prev
.metadata_map() .metadata_map()
.get::<SchedulerTestcaseMetaData>() .get::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .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 // Next depth is + 1
@ -221,7 +221,7 @@ where
.corpus() .corpus()
.get(idx)? .get(idx)?
.borrow_mut() .borrow_mut()
.add_metadata(SchedulerTestcaseMetaData::new(prev_depth)); .add_metadata(SchedulerTestcaseMetadata::new(prev_depth));
Ok(()) Ok(())
} }
@ -240,9 +240,9 @@ where
let prev_meta = prev let prev_meta = prev
.metadata_map() .metadata_map()
.get::<SchedulerTestcaseMetaData>() .get::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .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` // Use these to adjust `SchedulerMetadata`
@ -280,9 +280,9 @@ where
.get(parent_idx)? .get(parent_idx)?
.borrow() .borrow()
.metadata_map() .metadata_map()
.get::<SchedulerTestcaseMetaData>() .get::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .ok_or_else(|| {
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string()) Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
})? })?
.depth(), .depth(),
None => 0, None => 0,
@ -291,10 +291,10 @@ where
// TODO increase perf_score when finding new things like in AFL // TODO increase perf_score when finding new things like in AFL
// https://github.com/google/AFL/blob/master/afl-fuzz.c#L6547 // 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; depth += 1;
let mut testcase = state.corpus().get(idx)?.borrow_mut(); 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, depth,
self.last_hash, self.last_hash,
)); ));
@ -375,9 +375,9 @@ where
let tcmeta = testcase let tcmeta = testcase
.metadata_map_mut() .metadata_map_mut()
.get_mut::<SchedulerTestcaseMetaData>() .get_mut::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .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 { if tcmeta.handicap() >= 4 {

View File

@ -4,7 +4,7 @@ use core::marker::PhantomData;
use crate::{ use crate::{
bolts::{HasLen, HasRefCnt}, bolts::{HasLen, HasRefCnt},
corpus::{Corpus, SchedulerTestcaseMetaData, Testcase}, corpus::{Corpus, SchedulerTestcaseMetadata, Testcase},
feedbacks::MapIndexesMetadata, feedbacks::MapIndexesMetadata,
schedulers::{ schedulers::{
minimizer::{IsFavoredMetadata, TopRatedsMetadata}, minimizer::{IsFavoredMetadata, TopRatedsMetadata},
@ -81,10 +81,10 @@ where
let n_fuzz_entry = if cur_index == idx { let n_fuzz_entry = if cur_index == idx {
entry entry
.metadata_map() .metadata_map()
.get::<SchedulerTestcaseMetaData>() .get::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .ok_or_else(|| {
Error::key_not_found( Error::key_not_found(
"SchedulerTestcaseMetaData not found".to_string(), "SchedulerTestcaseMetadata not found".to_string(),
) )
})? })?
.n_fuzz_entry() .n_fuzz_entry()
@ -93,10 +93,10 @@ where
.get(idx)? .get(idx)?
.borrow() .borrow()
.metadata_map() .metadata_map()
.get::<SchedulerTestcaseMetaData>() .get::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .ok_or_else(|| {
Error::key_not_found( Error::key_not_found(
"SchedulerTestcaseMetaData not found".to_string(), "SchedulerTestcaseMetadata not found".to_string(),
) )
})? })?
.n_fuzz_entry() .n_fuzz_entry()
@ -130,9 +130,9 @@ where
let favored = entry.has_metadata::<IsFavoredMetadata>(); let favored = entry.has_metadata::<IsFavoredMetadata>();
let tcmeta = entry let tcmeta = entry
.metadata_map() .metadata_map()
.get::<SchedulerTestcaseMetaData>() .get::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .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 { if q_exec_us * 0.1 > avg_exec_us {
@ -302,9 +302,9 @@ where
let tcmeta = entry let tcmeta = entry
.metadata_map() .metadata_map()
.get::<SchedulerTestcaseMetaData>() .get::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .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, // This means that this testcase has never gone through the calibration stage before1,

View File

@ -9,7 +9,7 @@ use serde::{Deserialize, Serialize};
use crate::{ use crate::{
bolts::rands::Rand, bolts::rands::Rand,
corpus::{Corpus, CorpusId, SchedulerTestcaseMetaData}, corpus::{Corpus, CorpusId, SchedulerTestcaseMetadata},
inputs::UsesInput, inputs::UsesInput,
observers::{MapObserver, ObserversTuple}, observers::{MapObserver, ObserversTuple},
random_corpus_id, random_corpus_id,
@ -250,9 +250,9 @@ where
let prev_meta = prev let prev_meta = prev
.metadata_map() .metadata_map()
.get::<SchedulerTestcaseMetaData>() .get::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .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` // Use these to adjust `SchedulerMetadata`
@ -283,9 +283,9 @@ where
) -> Result<(), Error> { ) -> Result<(), Error> {
let prev_meta = prev let prev_meta = prev
.metadata_map() .metadata_map()
.get::<SchedulerTestcaseMetaData>() .get::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .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 // Next depth is + 1
@ -312,7 +312,7 @@ where
.corpus() .corpus()
.get(idx)? .get(idx)?
.borrow_mut() .borrow_mut()
.add_metadata(SchedulerTestcaseMetaData::new(prev_depth)); .add_metadata(SchedulerTestcaseMetadata::new(prev_depth));
Ok(()) Ok(())
} }
} }
@ -333,19 +333,19 @@ where
.get(parent_idx)? .get(parent_idx)?
.borrow_mut() .borrow_mut()
.metadata_map_mut() .metadata_map_mut()
.get_mut::<SchedulerTestcaseMetaData>() .get_mut::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .ok_or_else(|| {
Error::key_not_found("SchedulerTestcaseMetaData not found".to_string()) Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
})? })?
.depth(), .depth(),
None => 0, None => 0,
}; };
// Attach a `SchedulerTestcaseMetaData` to the queue entry. // Attach a `SchedulerTestcaseMetadata` to the queue entry.
depth += 1; depth += 1;
{ {
let mut testcase = state.corpus().get(idx)?.borrow_mut(); 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, depth,
self.last_hash, self.last_hash,
)); ));
@ -455,9 +455,9 @@ where
let tcmeta = testcase let tcmeta = testcase
.metadata_map_mut() .metadata_map_mut()
.get_mut::<SchedulerTestcaseMetaData>() .get_mut::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .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 { if tcmeta.handicap() >= 4 {

View File

@ -12,7 +12,7 @@ use serde::{Deserialize, Serialize};
use crate::{ use crate::{
bolts::{current_time, tuples::Named, AsIter}, bolts::{current_time, tuples::Named, AsIter},
corpus::{Corpus, CorpusId, SchedulerTestcaseMetaData}, corpus::{Corpus, CorpusId, SchedulerTestcaseMetadata},
events::{Event, EventFirer, LogSeverity}, events::{Event, EventFirer, LogSeverity},
executors::{Executor, ExitKind, HasObservers}, executors::{Executor, ExitKind, HasObservers},
feedbacks::{map::MapFeedbackMetadata, HasObserverName}, feedbacks::{map::MapFeedbackMetadata, HasObserverName},
@ -251,7 +251,7 @@ where
.corpus() .corpus()
.get(corpus_idx)? .get(corpus_idx)?
.borrow() .borrow()
.has_metadata::<SchedulerTestcaseMetaData>(); .has_metadata::<SchedulerTestcaseMetadata>();
if use_powerschedule { if use_powerschedule {
let map = executor let map = executor
@ -282,9 +282,9 @@ where
let data = testcase let data = testcase
.metadata_map_mut() .metadata_map_mut()
.get_mut::<SchedulerTestcaseMetaData>() .get_mut::<SchedulerTestcaseMetadata>()
.ok_or_else(|| { .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)); data.set_cycle_and_time((total_time, iter));

View File

@ -346,10 +346,10 @@ where
mod tests { mod tests {
use crate::cfg::{ControlFlowGraph, HasWeight}; use crate::cfg::{ControlFlowGraph, HasWeight};
struct TestMetaData {} struct TestMetadata {}
impl HasWeight<TestMetaData> for TestMetaData { impl HasWeight<TestMetadata> for TestMetadata {
fn compute(_metadata: Option<&TestMetaData>) -> u32 { fn compute(_metadata: Option<&TestMetadata>) -> u32 {
1 1
} }
} }
@ -364,7 +364,7 @@ mod tests {
#[test] #[test]
#[cfg_attr(miri, ignore)] // Testcase takes long in miri. #[cfg_attr(miri, ignore)] // Testcase takes long in miri.
fn test_basic_cfg_from_str() { 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(); let entry = cfg.get_entry("main").unwrap();
assert_eq!(entry.calling_func, "main"); assert_eq!(entry.calling_func, "main");
assert_eq!(entry.successor_edges.len(), 2); assert_eq!(entry.successor_edges.len(), 2);
@ -394,7 +394,7 @@ mod tests {
#[test] #[test]
#[cfg_attr(miri, ignore)] // Testcase takes too long in miri. :/ #[cfg_attr(miri, ignore)] // Testcase takes too long in miri. :/
fn test_shortest_path() { 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); let distances = cfg.calculate_distances_to_all_edges((41864 >> 1) ^ 26911);
assert_eq!(*distances.get(&((41864 >> 1) ^ 26911)).unwrap(), 1); assert_eq!(*distances.get(&((41864 >> 1) ^ 26911)).unwrap(), 1);
assert_eq!(*distances.get(&((26911 >> 1) ^ 52706)).unwrap(), 2); assert_eq!(*distances.get(&((26911 >> 1) ^ 52706)).unwrap(), 2);