mirror of
https://github.com/pezkuwichain/pezkuwi-runtime-templates.git
synced 2026-04-22 02:07:55 +00:00
Improve Fuzzing runs (#402)
* Update Fuzzing: * add coverage generation * fix block numeration error * fix AFL build error * add an EVM run * toml sort * fix unexistent call
This commit is contained in:
Generated
+22
@@ -207,6 +207,15 @@ dependencies = [
|
||||
"syn 2.0.87",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "arbitrary"
|
||||
version = "1.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dde20b3d026af13f561bdd0f15edf01fc734f0dafcedbaf42bba506a9517f223"
|
||||
dependencies = [
|
||||
"derive_arbitrary",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "ark-bls12-377"
|
||||
version = "0.4.0"
|
||||
@@ -2579,6 +2588,17 @@ dependencies = [
|
||||
"syn 2.0.87",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "derive_arbitrary"
|
||||
version = "1.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "30542c1ad912e0e3d22a1935c290e12e8a29d704a420177a31faad4a601a0800"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.87",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "derive_more"
|
||||
version = "0.99.18"
|
||||
@@ -10657,6 +10677,7 @@ version = "0.9.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "94b0b33c13a79f669c85defaf4c275dc86a0c0372807d0ca3d78e0bb87274863"
|
||||
dependencies = [
|
||||
"arbitrary",
|
||||
"bytes",
|
||||
"rand",
|
||||
"ring 0.16.20",
|
||||
@@ -14725,6 +14746,7 @@ dependencies = [
|
||||
"pallet-whitelist",
|
||||
"parachains-common",
|
||||
"parity-scale-codec",
|
||||
"quinn-proto 0.9.6",
|
||||
"sp-consensus-aura",
|
||||
"sp-runtime",
|
||||
"sp-state-machine",
|
||||
|
||||
@@ -15,6 +15,7 @@ workspace = true
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
quinn-proto = { version = "0.9.6", features = [ "arbitrary" ] }
|
||||
ziggy = { workspace = true }
|
||||
|
||||
evm-runtime-template = { path = "../runtime" }
|
||||
|
||||
@@ -105,7 +105,8 @@ fn process_input(accounts: &[AccountId], genesis: &Storage, data: &[u8]) {
|
||||
continue;
|
||||
}
|
||||
if lapse > 0 {
|
||||
finalize_block(elapsed);
|
||||
println!("\n time spent: {elapsed:?}");
|
||||
assert!(elapsed.as_secs() <= 2, "block execution took too much time");
|
||||
|
||||
block += u32::from(lapse) * 393; // 393 * 256 = 100608 which nearly corresponds to a week
|
||||
weight = 0.into();
|
||||
@@ -126,6 +127,7 @@ fn process_input(accounts: &[AccountId], genesis: &Storage, data: &[u8]) {
|
||||
println!(" call: {extrinsic:?}");
|
||||
|
||||
let now = Instant::now(); // We get the current time for timing purposes.
|
||||
|
||||
#[allow(unused_variables)]
|
||||
let res = extrinsic.dispatch(RuntimeOrigin::signed(origin));
|
||||
elapsed += now.elapsed();
|
||||
@@ -133,7 +135,7 @@ fn process_input(accounts: &[AccountId], genesis: &Storage, data: &[u8]) {
|
||||
println!(" result: {res:?}");
|
||||
}
|
||||
|
||||
finalize_block(elapsed);
|
||||
Executive::finalize_block();
|
||||
|
||||
check_invariants(block, initial_total_issuance);
|
||||
});
|
||||
@@ -142,11 +144,14 @@ fn process_input(accounts: &[AccountId], genesis: &Storage, data: &[u8]) {
|
||||
fn initialize_block(block: u32) {
|
||||
println!("\ninitializing block {}", block);
|
||||
|
||||
let current_timestamp = u64::from(block) * SLOT_DURATION;
|
||||
let current_timestamp = u64::from(block) * SLOT_DURATION * 2;
|
||||
|
||||
let prev_header = match block {
|
||||
1 => None,
|
||||
_ => Some(Executive::finalize_block()),
|
||||
_ => {
|
||||
println!(" finalizing block");
|
||||
Some(Executive::finalize_block())
|
||||
}
|
||||
};
|
||||
|
||||
let parent_header = &Header::new(
|
||||
@@ -280,14 +285,6 @@ fn recursive_call_filter(call: &RuntimeCall, origin: usize) -> bool {
|
||||
}
|
||||
}
|
||||
|
||||
fn finalize_block(elapsed: Duration) {
|
||||
println!("\n time spent: {elapsed:?}");
|
||||
assert!(elapsed.as_secs() <= 2, "block execution took too much time");
|
||||
|
||||
println!(" finalizing block");
|
||||
Executive::finalize_block();
|
||||
}
|
||||
|
||||
fn check_invariants(block: u32, initial_total_issuance: Balance) {
|
||||
let mut counted_free = 0;
|
||||
let mut counted_reserved = 0;
|
||||
|
||||
Reference in New Issue
Block a user