Create SchedulerTestcaseMetadata if it doesn't exist (#1151)
* Create SchedulerTestcaseMetadata if it doesn't exist * reset symcc
This commit is contained in:
parent
51bc1d0328
commit
3c331e5a9b
@ -246,14 +246,7 @@ where
|
|||||||
};
|
};
|
||||||
|
|
||||||
// If weighted scheduler or powerscheduler is used, update it
|
// If weighted scheduler or powerscheduler is used, update it
|
||||||
let use_powerschedule = state.has_metadata::<SchedulerMetadata>()
|
if state.has_metadata::<SchedulerMetadata>() {
|
||||||
&& state
|
|
||||||
.corpus()
|
|
||||||
.get(corpus_idx)?
|
|
||||||
.borrow()
|
|
||||||
.has_metadata::<SchedulerTestcaseMetadata>();
|
|
||||||
|
|
||||||
if use_powerschedule {
|
|
||||||
let map = executor
|
let map = executor
|
||||||
.observers()
|
.observers()
|
||||||
.match_name::<O>(&self.map_observer_name)
|
.match_name::<O>(&self.map_observer_name)
|
||||||
@ -280,12 +273,28 @@ where
|
|||||||
testcase.set_scheduled_count(scheduled_count + 1);
|
testcase.set_scheduled_count(scheduled_count + 1);
|
||||||
// log::trace!("time: {:#?}", testcase.exec_time());
|
// log::trace!("time: {:#?}", testcase.exec_time());
|
||||||
|
|
||||||
let data = testcase
|
// If the testcase doesn't have its own `SchedulerTestcaseMetadata`, create it.
|
||||||
.metadata_map_mut()
|
let data = if let Ok(metadata) = testcase.metadata_mut::<SchedulerTestcaseMetadata>() {
|
||||||
.get_mut::<SchedulerTestcaseMetadata>()
|
metadata
|
||||||
.ok_or_else(|| {
|
} else {
|
||||||
Error::key_not_found("SchedulerTestcaseMetadata not found".to_string())
|
let depth = if let Some(parent_id) = testcase.parent_id() {
|
||||||
})?;
|
if let Some(parent_metadata) = (*state.corpus().get(parent_id)?)
|
||||||
|
.borrow()
|
||||||
|
.metadata_map()
|
||||||
|
.get::<SchedulerTestcaseMetadata>()
|
||||||
|
{
|
||||||
|
parent_metadata.depth() + 1
|
||||||
|
} else {
|
||||||
|
0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
0
|
||||||
|
};
|
||||||
|
testcase.add_metadata(SchedulerTestcaseMetadata::new(depth));
|
||||||
|
testcase
|
||||||
|
.metadata_mut::<SchedulerTestcaseMetadata>()
|
||||||
|
.unwrap()
|
||||||
|
};
|
||||||
|
|
||||||
data.set_cycle_and_time((total_time, iter));
|
data.set_cycle_and_time((total_time, iter));
|
||||||
data.set_bitmap_size(bitmap_size);
|
data.set_bitmap_size(bitmap_size);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user