From 686963bd340ab7d8fef7754190496ad1b3946d8f Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Fri, 24 May 2019 13:57:24 +1000 Subject: [PATCH] Update `ef_tests` for new `compare_fields` API --- eth2/types/src/beacon_state.rs | 2 ++ tests/ef_tests/src/case_result.rs | 12 ++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/eth2/types/src/beacon_state.rs b/eth2/types/src/beacon_state.rs index b1072b2e7f..336fcf79a0 100644 --- a/eth2/types/src/beacon_state.rs +++ b/eth2/types/src/beacon_state.rs @@ -86,7 +86,9 @@ where pub fork: Fork, // Validator registry + #[compare_fields(as_slice)] pub validator_registry: Vec, + #[compare_fields(as_slice)] pub balances: Vec, // Randomness and committees diff --git a/tests/ef_tests/src/case_result.rs b/tests/ef_tests/src/case_result.rs index c61874e3ac..cd40ac8cea 100644 --- a/tests/ef_tests/src/case_result.rs +++ b/tests/ef_tests/src/case_result.rs @@ -1,5 +1,5 @@ use super::*; -use compare_fields::{CompareFields, FieldComparison}; +use compare_fields::{CompareFields, Comparison, FieldComparison}; use std::fmt::Debug; use types::BeaconState; @@ -51,13 +51,17 @@ where { match (result, expected) { (Ok(result), Some(expected)) => { - let mismatching_fields: Vec = expected + let mut mismatching_fields: Vec = expected .compare_fields(result) .into_iter() - .filter(|c| !c.equal) - // .map(|c| c.field_name) + // Filter all out all fields that are equal. + .filter(Comparison::not_equal) .collect(); + mismatching_fields + .iter_mut() + .for_each(|f| f.retain_children(FieldComparison::not_equal)); + if !mismatching_fields.is_empty() { Err(Error::NotEqual(format!( "Fields not equal (a = expected, b = result): {:#?}",