mirror of
https://github.com/pezkuwichain/revive-differential-tests.git
synced 2026-04-22 21:57:58 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f543903920 | |||
| f54c543c18 | |||
| 736c50a8f0 | |||
| e2fb7a4322 | |||
| 0edfb3a36e |
@@ -5,7 +5,7 @@ use revive_dt_common::{macros::define_wrapper_type, types::Mode};
|
|||||||
|
|
||||||
use crate::{
|
use crate::{
|
||||||
mode::ParsedMode,
|
mode::ParsedMode,
|
||||||
steps::{Expected, Step},
|
steps::{Expected, RepeatStep, Step},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[derive(Debug, Default, Serialize, Deserialize, Clone, Eq, PartialEq, JsonSchema)]
|
#[derive(Debug, Default, Serialize, Deserialize, Clone, Eq, PartialEq, JsonSchema)]
|
||||||
@@ -55,7 +55,6 @@ pub struct Case {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Case {
|
impl Case {
|
||||||
#[allow(irrefutable_let_patterns)]
|
|
||||||
pub fn steps_iterator(&self) -> impl Iterator<Item = Step> {
|
pub fn steps_iterator(&self) -> impl Iterator<Item = Step> {
|
||||||
let steps_len = self.steps.len();
|
let steps_len = self.steps.len();
|
||||||
self.steps
|
self.steps
|
||||||
@@ -84,6 +83,24 @@ impl Case {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn steps_iterator_for_benchmarks(
|
||||||
|
&self,
|
||||||
|
default_repeat_count: usize,
|
||||||
|
) -> Box<dyn Iterator<Item = Step> + '_> {
|
||||||
|
let contains_repeat = self
|
||||||
|
.steps_iterator()
|
||||||
|
.any(|step| matches!(&step, Step::Repeat(..)));
|
||||||
|
if contains_repeat {
|
||||||
|
Box::new(self.steps_iterator()) as Box<_>
|
||||||
|
} else {
|
||||||
|
Box::new(std::iter::once(Step::Repeat(Box::new(RepeatStep {
|
||||||
|
comment: None,
|
||||||
|
repeat: default_repeat_count,
|
||||||
|
steps: self.steps_iterator().collect(),
|
||||||
|
})))) as Box<_>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn solc_modes(&self) -> Vec<Mode> {
|
pub fn solc_modes(&self) -> Vec<Mode> {
|
||||||
match &self.modes {
|
match &self.modes {
|
||||||
Some(modes) => ParsedMode::many_to_modes(modes.iter()).collect(),
|
Some(modes) => ParsedMode::many_to_modes(modes.iter()).collect(),
|
||||||
|
|||||||
Reference in New Issue
Block a user