From 035e124a14a90fcc6b8fb617455a2ff1fcf8f1ce Mon Sep 17 00:00:00 2001 From: Paul Hauner Date: Wed, 15 May 2019 11:45:50 +1000 Subject: [PATCH] Remove serde de-ser constraint from `Cases` --- tests/ef_tests/src/cases.rs | 4 ++-- tests/ef_tests/src/doc.rs | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/ef_tests/src/cases.rs b/tests/ef_tests/src/cases.rs index bfc2900c71..5bb1bdc2fc 100644 --- a/tests/ef_tests/src/cases.rs +++ b/tests/ef_tests/src/cases.rs @@ -1,6 +1,5 @@ use super::*; use crate::yaml_decode::*; -use serde_derive::Deserialize; use yaml_rust::YamlLoader; mod ssz_generic; @@ -9,7 +8,7 @@ mod ssz_static; pub use ssz_generic::*; pub use ssz_static::*; -#[derive(Debug, Deserialize)] +#[derive(Debug)] pub struct Cases { pub test_cases: Vec, } @@ -23,6 +22,7 @@ impl YamlDecode for Cases { let mut i = 0; loop { + // `is_badvalue` indicates when we have reached the end of the YAML list. if doc[i].is_badvalue() { break; } else { diff --git a/tests/ef_tests/src/doc.rs b/tests/ef_tests/src/doc.rs index e67f7c713d..0182e74795 100644 --- a/tests/ef_tests/src/doc.rs +++ b/tests/ef_tests/src/doc.rs @@ -59,10 +59,12 @@ impl Doc { pub fn run_test(test_doc_yaml: &String) -> Vec where - Cases: EfTest + serde::de::DeserializeOwned + YamlDecode, + Cases: EfTest + YamlDecode, { + // Extract only the "test_cases" YAML as a stand-alone string. let test_cases_yaml = extract_yaml_by_key(test_doc_yaml, "test_cases"); + // Pass only the "test_cases" YAML string to `yaml_decode`. let test_cases: Cases = Cases::yaml_decode(&test_cases_yaml.to_string()).unwrap(); test_cases.test_results::()