Skip to content

Commit e7a878f

Browse files
committed
Clippy and more tests
1 parent 9818d37 commit e7a878f

File tree

4 files changed

+26
-18
lines changed

4 files changed

+26
-18
lines changed

crates/config/src/lib.rs

+1
Original file line numberDiff line numberDiff line change
@@ -4433,6 +4433,7 @@ mod tests {
44334433
runs: 512,
44344434
depth: 10,
44354435
failure_persist_dir: Some(PathBuf::from("cache/invariant")),
4436+
corpus_dir: Some(PathBuf::from("cache/invariant/corpus"),),
44364437
..Default::default()
44374438
}
44384439
);

crates/evm/evm/src/executors/invariant/mod.rs

+7-6
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ impl Corpus {
348348
let one = &self.corpus[idx1];
349349
let two = &self.corpus[idx2];
350350
let mut new_seq = vec![];
351-
// TOOD rounds of mutations on elements?
351+
// TODO rounds of mutations on elements?
352352
match rng.gen_range(0..3) {
353353
// TODO expose config and add tests
354354
// splice
@@ -359,13 +359,14 @@ impl Corpus {
359359
let start2 = rng.gen_range(0..two.len());
360360
let end2 = rng.gen_range(start2..two.len());
361361

362-
for i in start1..end1 {
363-
new_seq.push(one[i].clone());
362+
for tx in one.iter().take(end1).skip(start1) {
363+
new_seq.push(tx.clone());
364364
}
365365

366-
for i in start2..end2 {
367-
new_seq.push(two[i].clone());
366+
for tx in two.iter().take(end2).skip(start2) {
367+
new_seq.push(tx.clone());
368368
}
369+
369370
if !new_seq.is_empty() {
370371
return new_seq;
371372
}
@@ -641,7 +642,7 @@ impl<'a> InvariantExecutor<'a> {
641642
// Generates the next call from the run using the recently updated
642643
// dictionary if initial seq isn't `depth` long.
643644
if discarded || (current_run.depth as usize > initial_seq.len().saturating_sub(1)) {
644-
// TOOD rng.rand_ratio(X) to occassionally intermix new txs
645+
// TODO rng.rand_ratio(X) to occasionally intermix new txs
645646
current_run.inputs.push(
646647
generator
647648
.new_tree(&mut invariant_test.execution_data.borrow_mut().branch_runner)

crates/forge/tests/cli/config.rs

+6
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,14 @@ forgetest!(can_extract_config_values, |prj, cmd| {
8484
seed: Some(U256::from(1000)),
8585
failure_persist_dir: Some("test-cache/fuzz".into()),
8686
failure_persist_file: Some("failures".to_string()),
87+
corpus_dir: Some("cache/fuzz/corpus".into()),
8788
show_logs: false,
8889
..Default::default()
8990
},
9091
invariant: InvariantConfig {
9192
runs: 256,
9293
failure_persist_dir: Some("test-cache/fuzz".into()),
94+
corpus_dir: Some("cache/invariant/corpus".into()),
9395
..Default::default()
9496
},
9597
ffi: true,
@@ -1080,6 +1082,7 @@ include_push_bytes = true
10801082
max_fuzz_dictionary_addresses = 15728640
10811083
max_fuzz_dictionary_values = 6553600
10821084
gas_report_samples = 256
1085+
corpus_dir = "cache/fuzz/corpus"
10831086
failure_persist_dir = "cache/fuzz"
10841087
failure_persist_file = "failures"
10851088
show_logs = false
@@ -1097,6 +1100,7 @@ max_fuzz_dictionary_values = 6553600
10971100
shrink_run_limit = 5000
10981101
max_assume_rejects = 65536
10991102
gas_report_samples = 256
1103+
corpus_dir = "cache/invariant/corpus"
11001104
failure_persist_dir = "cache/invariant"
11011105
show_metrics = false
11021106
show_solidity = false
@@ -1184,6 +1188,7 @@ exclude = []
11841188
"max_fuzz_dictionary_addresses": 15728640,
11851189
"max_fuzz_dictionary_values": 6553600,
11861190
"gas_report_samples": 256,
1191+
"corpus_dir": "cache/fuzz/corpus",
11871192
"failure_persist_dir": "cache/fuzz",
11881193
"failure_persist_file": "failures",
11891194
"show_logs": false,
@@ -1202,6 +1207,7 @@ exclude = []
12021207
"shrink_run_limit": 5000,
12031208
"max_assume_rejects": 65536,
12041209
"gas_report_samples": 256,
1210+
"corpus_dir": "cache/invariant/corpus",
12051211
"failure_persist_dir": "cache/invariant",
12061212
"show_metrics": false,
12071213
"timeout": null,

crates/forge/tests/it/invariant.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -1113,10 +1113,10 @@ Failing tests:
11131113
Encountered 1 failing test in test/InvariantSequenceLenTest.t.sol:InvariantSequenceLenTest
11141114
[FAIL: revert: invariant increment failure]
11151115
[Sequence] (original: 4, shrunk: 4)
1116-
sender=0x0000000000000000000000000000000000000a85 addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1117-
sender=0x0000000000000000000000000000000000000a85 addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1118-
sender=0x0000000000000000000000000000000000000106 addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1119-
sender=0x00000000000000000000000000000000000009B1 addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=setNumber(uint256) args=[996881781832960761274744263729582347 [9.968e35]]
1116+
sender=[..] addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1117+
sender=[..] addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1118+
sender=[..] addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1119+
sender=[..] addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=setNumber(uint256) args=[996881781832960761274744263729582347 [9.968e35]]
11201120
invariant_increment() (runs: 0, calls: 0, reverts: 0)
11211121
11221122
Encountered a total of 1 failing tests, 0 tests succeeded
@@ -1136,13 +1136,13 @@ Failing tests:
11361136
Encountered 1 failing test in test/InvariantSequenceLenTest.t.sol:InvariantSequenceLenTest
11371137
[FAIL: revert: invariant increment failure]
11381138
[Sequence] (original: 4, shrunk: 4)
1139-
vm.prank(0x0000000000000000000000000000000000000a85);
1139+
vm.prank([..]);
11401140
Counter(0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f).increment();
1141-
vm.prank(0x0000000000000000000000000000000000000a85);
1141+
vm.prank([..]);
11421142
Counter(0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f).increment();
1143-
vm.prank(0x0000000000000000000000000000000000000106);
1143+
vm.prank([..]);
11441144
Counter(0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f).increment();
1145-
vm.prank(0x00000000000000000000000000000000000009B1);
1145+
vm.prank([..]);
11461146
Counter(0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f).setNumber(996881781832960761274744263729582347);
11471147
invariant_increment() (runs: 0, calls: 0, reverts: 0)
11481148
@@ -1162,10 +1162,10 @@ Failing tests:
11621162
Encountered 1 failing test in test/InvariantSequenceLenTest.t.sol:InvariantSequenceLenTest
11631163
[FAIL: invariant_increment replay failure]
11641164
[Sequence] (original: 4, shrunk: 4)
1165-
sender=0x0000000000000000000000000000000000000a85 addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1166-
sender=0x0000000000000000000000000000000000000a85 addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1167-
sender=0x0000000000000000000000000000000000000106 addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1168-
sender=0x00000000000000000000000000000000000009B1 addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=setNumber(uint256) args=[996881781832960761274744263729582347 [9.968e35]]
1165+
sender=[..] addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1166+
sender=[..] addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1167+
sender=[..] addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=increment() args=[]
1168+
sender=[..] addr=[src/Counter.sol:Counter]0x5615dEB798BB3E4dFa0139dFa1b3D433Cc23b72f calldata=setNumber(uint256) args=[996881781832960761274744263729582347 [9.968e35]]
11691169
invariant_increment() (runs: 1, calls: 1, reverts: 1)
11701170
11711171
Encountered a total of 1 failing tests, 0 tests succeeded

0 commit comments

Comments
 (0)