|
1 | 1 | mod test_suite;
|
2 | 2 |
|
3 |
| -pub use test_suite::{PragueTestResult, TestResult, TestSuite, TestUnit, TestVector}; |
| 3 | +pub use test_suite::{TestResults, TestResult, TestSuite, TestUnit, TestVector}; |
4 | 4 |
|
5 | 5 | use crate::{cmd::Error, dir_utils::find_all_json_tests};
|
6 | 6 | use clap::Parser;
|
@@ -82,24 +82,33 @@ pub fn run_test(path: &Path) -> Result<(), Error> {
|
82 | 82 | Some(CodeType::ReturnOrStop)
|
83 | 83 | };
|
84 | 84 | 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); |
103 | 112 | }
|
104 | 113 | }
|
105 | 114 | }
|
|
0 commit comments