Skip to content

Commit c367a78

Browse files
authored
fmt: restore whitespace in fuzz files (#6788)
1 parent bb35926 commit c367a78

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

crates/evm/fuzz/src/strategies/int.rs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ pub struct IntValueTree {
1717
/// If true cannot be simplified or complexified
1818
fixed: bool,
1919
}
20+
2021
impl IntValueTree {
2122
/// Create a new tree
2223
/// # Arguments
@@ -37,25 +38,30 @@ impl IntValueTree {
3738
true
3839
}
3940
}
41+
4042
fn magnitude_greater(lhs: I256, rhs: I256) -> bool {
4143
if lhs.is_zero() {
4244
return false
4345
}
4446
(lhs > rhs) ^ (lhs.is_negative())
4547
}
4648
}
49+
4750
impl ValueTree for IntValueTree {
4851
type Value = I256;
52+
4953
fn current(&self) -> Self::Value {
5054
self.curr
5155
}
56+
5257
fn simplify(&mut self) -> bool {
5358
if self.fixed || !IntValueTree::magnitude_greater(self.hi, self.lo) {
5459
return false
5560
}
5661
self.hi = self.curr;
5762
self.reposition()
5863
}
64+
5965
fn complicate(&mut self) -> bool {
6066
if self.fixed || !IntValueTree::magnitude_greater(self.hi, self.lo) {
6167
return false
@@ -66,6 +72,7 @@ impl ValueTree for IntValueTree {
6672
self.reposition()
6773
}
6874
}
75+
6976
/// Value tree for signed ints (up to int256).
7077
/// The strategy combines 3 different strategies, each assigned a specific weight:
7178
/// 1. Generate purely random value in a range. This will first choose bit size uniformly (up `bits`
@@ -85,6 +92,7 @@ pub struct IntStrategy {
8592
/// The weight for purely random values
8693
random_weight: usize,
8794
}
95+
8896
impl IntStrategy {
8997
/// Create a new strategy.
9098
/// #Arguments
@@ -99,6 +107,7 @@ impl IntStrategy {
99107
random_weight: 50usize,
100108
}
101109
}
110+
102111
fn generate_edge_tree(&self, runner: &mut TestRunner) -> NewTree<Self> {
103112
let rng = runner.rng();
104113

@@ -117,6 +126,7 @@ impl IntStrategy {
117126
};
118127
Ok(IntValueTree::new(start, false))
119128
}
129+
120130
fn generate_fixtures_tree(&self, runner: &mut TestRunner) -> NewTree<Self> {
121131
// generate edge cases if there's no fixtures
122132
if self.fixtures.is_empty() {
@@ -125,8 +135,10 @@ impl IntStrategy {
125135
let idx = runner.rng().gen_range(0..self.fixtures.len());
126136
Ok(IntValueTree::new(self.fixtures[idx], false))
127137
}
138+
128139
fn generate_random_tree(&self, runner: &mut TestRunner) -> NewTree<Self> {
129140
let rng = runner.rng();
141+
130142
// generate random number of bits uniformly
131143
let bits = rng.gen_range(0..=self.bits);
132144

@@ -137,6 +149,7 @@ impl IntStrategy {
137149
// init 2 128-bit randoms
138150
let mut higher: u128 = rng.gen_range(0..=u128::MAX);
139151
let mut lower: u128 = rng.gen_range(0..=u128::MAX);
152+
140153
// cut 2 randoms according to bits size
141154
match bits - 1 {
142155
x if x < 128 => {
@@ -154,17 +167,20 @@ impl IntStrategy {
154167
inner[1] = (lower >> 64) as u64;
155168
inner[2] = (higher & mask64) as u64;
156169
inner[3] = (higher >> 64) as u64;
157-
let sign = if rng.gen_bool(0.5) { Sign::Positive } else { Sign::Negative };
170+
158171
// we have a small bias here, i.e. intN::min will never be generated
159172
// but it's ok since it's generated in `fn generate_edge_tree(...)`
173+
let sign = if rng.gen_bool(0.5) { Sign::Positive } else { Sign::Negative };
160174
let (start, _) = I256::overflowing_from_sign_and_abs(sign, U256::from_limbs(inner));
161175

162176
Ok(IntValueTree::new(start, false))
163177
}
164178
}
179+
165180
impl Strategy for IntStrategy {
166181
type Tree = IntValueTree;
167182
type Value = I256;
183+
168184
fn new_tree(&self, runner: &mut TestRunner) -> NewTree<Self> {
169185
let total_weight = self.random_weight + self.fixtures_weight + self.edge_weight;
170186
let bias = runner.rng().gen_range(0..total_weight);

crates/evm/fuzz/src/strategies/uint.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ pub struct UintValueTree {
1717
/// If true cannot be simplified or complexified
1818
fixed: bool,
1919
}
20+
2021
impl UintValueTree {
2122
/// Create a new tree
2223
/// # Arguments
@@ -38,18 +39,22 @@ impl UintValueTree {
3839
}
3940
}
4041
}
42+
4143
impl ValueTree for UintValueTree {
4244
type Value = U256;
45+
4346
fn current(&self) -> Self::Value {
4447
self.curr
4548
}
49+
4650
fn simplify(&mut self) -> bool {
4751
if self.fixed || (self.hi <= self.lo) {
4852
return false
4953
}
5054
self.hi = self.curr;
5155
self.reposition()
5256
}
57+
5358
fn complicate(&mut self) -> bool {
5459
if self.fixed || (self.hi <= self.lo) {
5560
return false
@@ -59,6 +64,7 @@ impl ValueTree for UintValueTree {
5964
self.reposition()
6065
}
6166
}
67+
6268
/// Value tree for unsigned ints (up to uint256).
6369
/// The strategy combines 3 different strategies, each assigned a specific weight:
6470
/// 1. Generate purely random value in a range. This will first choose bit size uniformly (up `bits`
@@ -78,6 +84,7 @@ pub struct UintStrategy {
7884
/// The weight for purely random values
7985
random_weight: usize,
8086
}
87+
8188
impl UintStrategy {
8289
/// Create a new strategy.
8390
/// #Arguments
@@ -92,6 +99,7 @@ impl UintStrategy {
9299
random_weight: 50usize,
93100
}
94101
}
102+
95103
fn generate_edge_tree(&self, runner: &mut TestRunner) -> NewTree<Self> {
96104
let rng = runner.rng();
97105
// Choose if we want values around 0 or max
@@ -102,6 +110,7 @@ impl UintStrategy {
102110
let start = if is_min { offset } else { max.saturating_sub(offset) };
103111
Ok(UintValueTree::new(start, false))
104112
}
113+
105114
fn generate_fixtures_tree(&self, runner: &mut TestRunner) -> NewTree<Self> {
106115
// generate edge cases if there's no fixtures
107116
if self.fixtures.is_empty() {
@@ -110,13 +119,17 @@ impl UintStrategy {
110119
let idx = runner.rng().gen_range(0..self.fixtures.len());
111120
Ok(UintValueTree::new(self.fixtures[idx], false))
112121
}
122+
113123
fn generate_random_tree(&self, runner: &mut TestRunner) -> NewTree<Self> {
114124
let rng = runner.rng();
125+
115126
// generate random number of bits uniformly
116127
let bits = rng.gen_range(0..=self.bits);
128+
117129
// init 2 128-bit randoms
118130
let mut higher: u128 = rng.gen_range(0..=u128::MAX);
119131
let mut lower: u128 = rng.gen_range(0..=u128::MAX);
132+
120133
// cut 2 randoms according to bits size
121134
match bits {
122135
x if x < 128 => {
@@ -126,6 +139,7 @@ impl UintStrategy {
126139
x if (128..256).contains(&x) => higher &= (1u128 << (x - 128)) - 1,
127140
_ => {}
128141
};
142+
129143
// init U256 from 2 randoms
130144
let mut inner: [u64; 4] = [0; 4];
131145
let mask64 = (1 << 65) - 1;
@@ -138,6 +152,7 @@ impl UintStrategy {
138152
Ok(UintValueTree::new(start, false))
139153
}
140154
}
155+
141156
impl Strategy for UintStrategy {
142157
type Tree = UintValueTree;
143158
type Value = U256;

0 commit comments

Comments
 (0)