Fixed issues with fuzz in core. (#3193)
* Include ser::ProtocolVersion in fuzz generator. * Adjusted block_read_v1's path to appropriate file.
This commit is contained in:
@@ -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"
|
||||
|
||||
+32
-5
@@ -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<W: ser::Writeable>(target: &str, obj: W) -> Result<(), ser::Error> {
|
||||
fn generate<W: ser::Writeable>(
|
||||
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<W: ser::Writeable>(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(())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user