From 79a88e1612df59dcbbdca45dab54b79c091d62f7 Mon Sep 17 00:00:00 2001 From: Sebastian Geisler Date: Mon, 3 Dec 2018 16:31:13 -0800 Subject: [PATCH] Move fuzzing code out of utils --- src/blockdata/script.rs | 2 +- src/fuzz_util/mod.rs | 4 ++++ src/{util => fuzz_util}/sha2.rs | 0 src/lib.rs | 3 +++ src/util/bip32.rs | 2 +- src/util/contracthash.rs | 2 +- src/util/hash.rs | 2 +- src/util/mod.rs | 3 --- 8 files changed, 11 insertions(+), 7 deletions(-) create mode 100644 src/fuzz_util/mod.rs rename src/{util => fuzz_util}/sha2.rs (100%) diff --git a/src/blockdata/script.rs b/src/blockdata/script.rs index f0e89c7..b97765a 100644 --- a/src/blockdata/script.rs +++ b/src/blockdata/script.rs @@ -38,7 +38,7 @@ use util::hash::Hash160; #[cfg(feature="bitcoinconsensus")] use std::convert; #[cfg(feature="bitcoinconsensus")] use util::hash::Sha256dHash; -#[cfg(feature="fuzztarget")] use util::sha2::Sha256; +#[cfg(feature="fuzztarget")] use fuzz_util::sha2::Sha256; #[cfg(not(feature="fuzztarget"))] use crypto::sha2::Sha256; #[derive(Clone, Default, PartialOrd, Ord, PartialEq, Eq, Hash)] diff --git a/src/fuzz_util/mod.rs b/src/fuzz_util/mod.rs new file mode 100644 index 0000000..bbf67d3 --- /dev/null +++ b/src/fuzz_util/mod.rs @@ -0,0 +1,4 @@ +//! This module contains all mocks that are used for fuzz testing. Never use anything from this +//! module in production. + +pub mod sha2; \ No newline at end of file diff --git a/src/util/sha2.rs b/src/fuzz_util/sha2.rs similarity index 100% rename from src/util/sha2.rs rename to src/fuzz_util/sha2.rs diff --git a/src/lib.rs b/src/lib.rs index 8dd4f42..5311f61 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -80,3 +80,6 @@ pub use util::hash::BitcoinHash; pub use util::privkey::Privkey; pub use util::decimal::Decimal; pub use util::decimal::UDecimal; + +#[cfg(feature = "fuzztarget")] +pub mod fuzz_util; \ No newline at end of file diff --git a/src/util/bip32.rs b/src/util/bip32.rs index 200cce7..d1f9209 100644 --- a/src/util/bip32.rs +++ b/src/util/bip32.rs @@ -33,7 +33,7 @@ use secp256k1::{self, Secp256k1}; use network::constants::Network; use util::base58; -#[cfg(feature="fuzztarget")] use util::sha2::{Sha256, Sha512}; +#[cfg(feature="fuzztarget")] use fuzz_util::sha2::{Sha256, Sha512}; #[cfg(not(feature="fuzztarget"))] use crypto::sha2::{Sha256, Sha512}; /// A chain code diff --git a/src/util/contracthash.rs b/src/util/contracthash.rs index 88b3c40..181ed74 100644 --- a/src/util/contracthash.rs +++ b/src/util/contracthash.rs @@ -29,7 +29,7 @@ use std::{error, fmt}; use network::constants::Network; use util::{address, hash}; -#[cfg(feature="fuzztarget")] use util::sha2; +#[cfg(feature="fuzztarget")] use fuzz_util::sha2; #[cfg(not(feature="fuzztarget"))] use crypto::sha2; /// Encoding of "pubkey here" in script; from bitcoin core `src/script/script.h` diff --git a/src/util/hash.rs b/src/util/hash.rs index 396c9e3..cd406a0 100644 --- a/src/util/hash.rs +++ b/src/util/hash.rs @@ -30,7 +30,7 @@ use crypto::ripemd160::Ripemd160; use consensus::encode::{Encodable, Decodable}; use util::uint::Uint256; -#[cfg(feature="fuzztarget")] use util::sha2::Sha256; +#[cfg(feature="fuzztarget")] use fuzz_util::sha2::Sha256; #[cfg(not(feature="fuzztarget"))] use crypto::sha2::Sha256; use std::str::FromStr; diff --git a/src/util/mod.rs b/src/util/mod.rs index 07cbc4c..055c8a1 100644 --- a/src/util/mod.rs +++ b/src/util/mod.rs @@ -28,9 +28,6 @@ pub mod iter; pub mod misc; pub mod uint; -#[cfg(feature = "fuzztarget")] -pub mod sha2; - use std::{error, fmt}; use secp256k1;