From 5e0b47f2dc96ab59c680d161b4133b76ebd00fb6 Mon Sep 17 00:00:00 2001 From: Alexey Shekhirin Date: Wed, 21 Jun 2023 18:29:53 +0100 Subject: [PATCH 1/2] fix ef-tests --- testing/ef-tests/src/models.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/testing/ef-tests/src/models.rs b/testing/ef-tests/src/models.rs index 31a9612f033..f25719755c1 100644 --- a/testing/ef-tests/src/models.rs +++ b/testing/ef-tests/src/models.rs @@ -37,6 +37,8 @@ pub struct BlockchainTest { #[serde(default)] /// Engine spec. pub self_engine: SealEngine, + #[serde(skip)] + _info: serde_json::Value, } /// A block header in an Ethereum blockchain test. From 1e1476ddbf92526ad1453d2de05e3936d7c7eeb1 Mon Sep 17 00:00:00 2001 From: Alexey Shekhirin Date: Wed, 21 Jun 2023 19:11:34 +0100 Subject: [PATCH 2/2] ok fix --- Cargo.lock | 10 ++++++++++ testing/ef-tests/Cargo.toml | 1 + testing/ef-tests/src/models.rs | 16 ++++++++++++++-- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 329c3bdcedc..81afcebc75a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1736,6 +1736,7 @@ dependencies = [ "reth-rlp", "reth-stages", "serde", + "serde_bytes", "serde_json", "thiserror", "tokio", @@ -6379,6 +6380,15 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde_bytes" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" +dependencies = [ + "serde", +] + [[package]] name = "serde_derive" version = "1.0.164" diff --git a/testing/ef-tests/Cargo.toml b/testing/ef-tests/Cargo.toml index 109fefd4563..c394b9a8d48 100644 --- a/testing/ef-tests/Cargo.toml +++ b/testing/ef-tests/Cargo.toml @@ -24,3 +24,4 @@ walkdir = "2.3.3" serde = "1.0.163" serde_json = { workspace = true } thiserror = { workspace = true } +serde_bytes = "0.11.9" \ No newline at end of file diff --git a/testing/ef-tests/src/models.rs b/testing/ef-tests/src/models.rs index f25719755c1..abc9bf425b9 100644 --- a/testing/ef-tests/src/models.rs +++ b/testing/ef-tests/src/models.rs @@ -37,8 +37,20 @@ pub struct BlockchainTest { #[serde(default)] /// Engine spec. pub self_engine: SealEngine, - #[serde(skip)] - _info: serde_json::Value, + #[serde(rename = "_info")] + #[allow(unused)] + info: BlockchainTestInfo, +} + +#[derive(Debug, PartialEq, Eq, Deserialize)] +struct BlockchainTestInfo { + #[serde(rename = "filling-rpc-server")] + #[allow(unused)] + // One test has an invalid string in this field, which breaks our CI: + // https://github.com/ethereum/tests/blob/6c252923bdd1bd5a70f680df1214f866f76839db/GeneralStateTests/stTransactionTest/ValueOverflow.json#L5 + // By using `serde_bytes::ByteBuf`, we ignore the validation of this field as a string. + // TODO(alexey): remove when `ethereum/tests` is fixed + filling_rpc_server: serde_bytes::ByteBuf, } /// A block header in an Ethereum blockchain test.