test(ethereum): ignore invalid string sequence in ethereum state tests (#3307)

This commit is contained in:
Alexey Shekhirin
2023-06-21 20:08:16 +01:00
committed by GitHub
parent 8fd3cd2d81
commit 7b77fc1b6b
3 changed files with 25 additions and 0 deletions

10
Cargo.lock generated
View File

@ -1736,6 +1736,7 @@ dependencies = [
"reth-rlp", "reth-rlp",
"reth-stages", "reth-stages",
"serde", "serde",
"serde_bytes",
"serde_json", "serde_json",
"thiserror", "thiserror",
"tokio", "tokio",
@ -6379,6 +6380,15 @@ dependencies = [
"serde_derive", "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]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.164" version = "1.0.164"

View File

@ -24,3 +24,4 @@ walkdir = "2.3.3"
serde = "1.0.163" serde = "1.0.163"
serde_json = { workspace = true } serde_json = { workspace = true }
thiserror = { workspace = true } thiserror = { workspace = true }
serde_bytes = "0.11.9"

View File

@ -37,6 +37,20 @@ pub struct BlockchainTest {
#[serde(default)] #[serde(default)]
/// Engine spec. /// Engine spec.
pub self_engine: SealEngine, pub self_engine: SealEngine,
#[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. /// A block header in an Ethereum blockchain test.