Skip to content

Commit

Permalink
stuff
Browse files Browse the repository at this point in the history
  • Loading branch information
pompon0 committed Mar 27, 2024
1 parent f19b230 commit c59f57f
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 15 deletions.
19 changes: 13 additions & 6 deletions node/libs/protobuf/src/testonly/mod.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
//! Testonly utilities.
use zksync_consensus_utils::EncodeDist;
use super::{canonical, canonical_raw, decode, encode, read_fields, ProtoFmt, Wire, ProtoRepr};
use super::{canonical, canonical_raw, decode, encode, read_fields, ProtoFmt, ProtoRepr, Wire};
use prost::Message as _;
use prost_reflect::ReflectMessage;
use rand::{
distributions::{Distribution, Standard},
Rng,
};
use zksync_consensus_utils::EncodeDist;

/// Test encoding and canonical encoding properties.
#[track_caller]
Expand All @@ -24,7 +24,6 @@ pub fn test_encode<R: Rng, T: ProtoFmt + std::fmt::Debug + PartialEq>(rng: &mut
}
}


/// Syntax sugar for `test_encode`,
/// because `test_encode(rng,&rng.gen())` doesn't compile.
#[track_caller]
Expand Down Expand Up @@ -165,16 +164,24 @@ impl<P: ProtoRepr> ProtoConv for ReprConv<P> {
pub fn test_encode_all_formats<X: ProtoConv>(rng: &mut impl Rng)
where
X::Type: std::fmt::Debug + PartialEq,
EncodeDist: Distribution<X::Type>,
EncodeDist: Distribution<X::Type>,
{
for required_only in [false, true] {
let want: X::Type = EncodeDist { required_only, decimal_fractions: false }.sample(rng);
let want: X::Type = EncodeDist {
required_only,
decimal_fractions: false,
}
.sample(rng);
let got = decode_proto::<X>(&encode_proto::<X>(&want)).unwrap();
assert_eq!(&want, &got, "binary encoding");
let got = decode_yaml::<X>(&encode_yaml::<X>(&want)).unwrap();
assert_eq!(&want, &got, "yaml encoding");

let want: X::Type = EncodeDist { required_only, decimal_fractions: true }.sample(rng);
let want: X::Type = EncodeDist {
required_only,
decimal_fractions: true,
}
.sample(rng);
let got = decode_json::<X>(&encode_json::<X>(&want)).unwrap();
assert_eq!(&want, &got, "json encoding");
}
Expand Down
2 changes: 1 addition & 1 deletion node/libs/utils/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
pub mod enum_util;
pub mod pipe;
pub mod encode;
mod encode;

pub use encode::*;
16 changes: 8 additions & 8 deletions node/tools/src/tests.rs
Original file line number Diff line number Diff line change
@@ -1,14 +1,11 @@
use crate::{store, AppConfig};
use rand::{
distributions::{Distribution},
Rng,
};
use rand::{distributions::Distribution, Rng};
use tempfile::TempDir;
use zksync_concurrency::ctx;
use zksync_consensus_roles::{validator::testonly::Setup};
use zksync_consensus_roles::validator::testonly::Setup;
use zksync_consensus_storage::{testonly, PersistentBlockStore};
use zksync_protobuf::testonly::{FmtConv,test_encode_all_formats};
use zksync_consensus_utils::EncodeDist;
use zksync_protobuf::testonly::{test_encode_all_formats, FmtConv};

impl Distribution<AppConfig> for EncodeDist {
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> AppConfig {
Expand All @@ -20,8 +17,11 @@ impl Distribution<AppConfig> for EncodeDist {
genesis: rng.gen(),

gossip_dynamic_inbound_limit: rng.gen(),
gossip_static_inbound: self.sample_range(rng).map(|_|rng.gen()).collect(),
gossip_static_outbound: self.sample_range(rng).map(|_|(rng.gen(),self.sample(rng))).collect(),
gossip_static_inbound: self.sample_range(rng).map(|_| rng.gen()).collect(),
gossip_static_outbound: self
.sample_range(rng)
.map(|_| (rng.gen(), self.sample(rng)))
.collect(),
max_payload_size: rng.gen(),
}
}
Expand Down

0 comments on commit c59f57f

Please sign in to comment.