Skip to content

Commit 28ab334

Browse files
committed
fix(eof-test): also parse and run Osaka tests
1 parent bbc8d81 commit 28ab334

File tree

2 files changed

+33
-22
lines changed

2 files changed

+33
-22
lines changed

bins/revme/src/cmd/eofvalidation.rs

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
mod test_suite;
22

3-
pub use test_suite::{PragueTestResult, TestResult, TestSuite, TestUnit, TestVector};
3+
pub use test_suite::{TestResults, TestResult, TestSuite, TestUnit, TestVector};
44

55
use crate::{cmd::Error, dir_utils::find_all_json_tests};
66
use clap::Parser;
@@ -82,24 +82,33 @@ pub fn run_test(path: &Path) -> Result<(), Error> {
8282
Some(CodeType::ReturnOrStop)
8383
};
8484
let res = validate_raw_eof_inner(test_vector.code.clone(), kind);
85-
if res.is_ok() != test_vector.results.prague.result {
86-
println!(
87-
"\nTest failed: {} - {}\nresult:{:?}\nrevm err_result:{:#?}\nbytes:{:?}\n",
88-
name,
89-
vector_name,
90-
test_vector.results.prague,
91-
res.as_ref().err(),
92-
test_vector.code
93-
);
94-
*types_of_error
95-
.entry(
96-
res.err()
97-
.map(ErrorType::Error)
98-
.unwrap_or(ErrorType::FalsePositive),
99-
)
100-
.or_default() += 1;
101-
} else {
102-
passed_tests += 1;
85+
let mut check_res = |result: TestResult| {
86+
if res.is_ok() != result.result {
87+
let err = res.as_ref().err();
88+
println!(
89+
"\nTest failed: {} - {}\nresult:{:?}\nrevm err_result:{:#?}\nbytes:{:?}\n",
90+
name,
91+
vector_name,
92+
result,
93+
err,
94+
test_vector.code
95+
);
96+
*types_of_error
97+
.entry(
98+
err.cloned()
99+
.map(ErrorType::Error)
100+
.unwrap_or(ErrorType::FalsePositive),
101+
)
102+
.or_default() += 1;
103+
} else {
104+
passed_tests += 1;
105+
}
106+
};
107+
if let Some(prague_result) = test_vector.results.prague {
108+
check_res(prague_result);
109+
}
110+
if let Some(osaka_result) = test_vector.results.osaka {
111+
check_res(osaka_result);
103112
}
104113
}
105114
}

bins/revme/src/cmd/eofvalidation/test_suite.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,16 @@ pub struct TestUnit {
1919
pub struct TestVector {
2020
pub code: Bytes,
2121
pub container_kind: Option<String>,
22-
pub results: PragueTestResult,
22+
pub results: TestResults,
2323
}
2424

2525
#[derive(Debug, PartialEq, Eq, Deserialize)]
2626
#[serde(deny_unknown_fields)]
27-
pub struct PragueTestResult {
27+
pub struct TestResults {
2828
#[serde(rename = "Prague")]
29-
pub prague: TestResult,
29+
pub prague: Option<TestResult>,
30+
#[serde(rename = "Osaka")]
31+
pub osaka: Option<TestResult>,
3032
}
3133

3234
#[derive(Debug, PartialEq, Eq, Deserialize)]

0 commit comments

Comments
 (0)