diff --git a/core/fuzz/Cargo.toml b/core/fuzz/Cargo.toml index ad1190012..d21631978 100644 --- a/core/fuzz/Cargo.toml +++ b/core/fuzz/Cargo.toml @@ -31,7 +31,7 @@ path = "src/main.rs" [[bin]] name = "block_read_v1" -path = "fuzz_targets/block_read_v2.rs" +path = "fuzz_targets/block_read_v1.rs" [[bin]] name = "block_read_v2" diff --git a/core/fuzz/src/main.rs b/core/fuzz/src/main.rs index 7e1825658..5672561a9 100644 --- a/core/fuzz/src/main.rs +++ b/core/fuzz/src/main.rs @@ -7,12 +7,39 @@ use std::fs::{self, File}; use std::path::Path; fn main() { - generate("transaction_read", Transaction::default()).unwrap(); - generate("block_read", Block::default()).unwrap(); - generate("compact_block_read", CompactBlock::from(Block::default())).unwrap(); + generate( + "transaction_read_v1", + ser::ProtocolVersion(1), + Transaction::default(), + ) + .unwrap(); + generate("block_read_v1", ser::ProtocolVersion(1), Block::default()).unwrap(); + generate( + "compact_block_read_v1", + ser::ProtocolVersion(1), + CompactBlock::from(Block::default()), + ) + .unwrap(); + generate( + "transaction_read_v2", + ser::ProtocolVersion(2), + Transaction::default(), + ) + .unwrap(); + generate("block_read_v2", ser::ProtocolVersion(2), Block::default()).unwrap(); + generate( + "compact_block_read_v2", + ser::ProtocolVersion(2), + CompactBlock::from(Block::default()), + ) + .unwrap(); } -fn generate(target: &str, obj: W) -> Result<(), ser::Error> { +fn generate( + target: &str, + version: ser::ProtocolVersion, + obj: W, +) -> Result<(), ser::Error> { let dir_path = Path::new("corpus").join(target); if !dir_path.is_dir() { fs::create_dir_all(&dir_path).map_err(|e| { @@ -25,7 +52,7 @@ fn generate(target: &str, obj: W) -> Result<(), ser::Error> { if !pattern_path.exists() { let mut file = File::create(&pattern_path) .map_err(|e| ser::Error::IOErr("can't create a pattern file".to_owned(), e.kind()))?; - ser::serialize(&mut file, &obj) + ser::serialize(&mut file, version, &obj) } else { Ok(()) }