Skip to content

Commit 2cb145d

Browse files
starknet_os_flow_tests: fuzz test library call scenario
1 parent dc8e2e4 commit 2cb145d

10 files changed

Lines changed: 1560 additions & 606 deletions

File tree

crates/blockifier_test_utils/resources/feature_contracts/cairo0/compiled/fuzz_revert_compiled.json

Lines changed: 196 additions & 51 deletions
Large diffs are not rendered by default.

crates/blockifier_test_utils/resources/feature_contracts/cairo0/fuzz_revert.cairo

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
from starkware.cairo.common.cairo_builtins import HashBuiltin
44
from starkware.cairo.common.math import assert_not_zero
5-
from starkware.starknet.common.syscalls import call_contract
5+
from starkware.starknet.common.syscalls import call_contract, library_call
66

77
// Scenarios.
88
// The RETURN scenario *must* be zero, as the zero value also indicates end of scenario stream.
99
const SCENARIO_RETURN = 0;
1010
const SCENARIO_CALL = 1;
11+
const SCENARIO_LIBRARY_CALL = 2;
1112

1213
// selector_from_name("pop_front").
1314
const POP_FRONT_SELECTOR = 0x289c2d7d6351cd03d4f928bde75fa14d5f52e32bdbc750d5296e1b48c12f1c3;
@@ -97,6 +98,22 @@ func test_revert_fuzz{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_chec
9798
tempvar range_check_ptr = range_check_ptr;
9899
}
99100

101+
if (scenario == SCENARIO_LIBRARY_CALL) {
102+
library_call(
103+
class_hash=pop_front(orchestrator),
104+
function_selector=FUZZ_TEST_SELECTOR,
105+
calldata_size=0,
106+
calldata=new(),
107+
);
108+
tempvar syscall_ptr = syscall_ptr;
109+
tempvar pedersen_ptr = pedersen_ptr;
110+
tempvar range_check_ptr = range_check_ptr;
111+
} else {
112+
tempvar syscall_ptr = syscall_ptr;
113+
tempvar pedersen_ptr = pedersen_ptr;
114+
tempvar range_check_ptr = range_check_ptr;
115+
}
116+
100117
test_revert_fuzz();
101118
return ();
102119
}

0 commit comments

Comments
 (0)