Skip to content

Commit 7a06a12

Browse files
starknet_os_flow_tests: fuzz test library call scenario
1 parent aa9da5b commit 7a06a12

10 files changed

Lines changed: 1559 additions & 605 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;
@@ -91,6 +92,22 @@ func test_revert_fuzz{syscall_ptr: felt*, pedersen_ptr: HashBuiltin*, range_chec
9192
tempvar range_check_ptr = range_check_ptr;
9293
}
9394

95+
if (scenario == SCENARIO_LIBRARY_CALL) {
96+
library_call(
97+
class_hash=pop_front(orchestrator),
98+
function_selector=FUZZ_TEST_SELECTOR,
99+
calldata_size=0,
100+
calldata=new(),
101+
);
102+
tempvar syscall_ptr = syscall_ptr;
103+
tempvar pedersen_ptr = pedersen_ptr;
104+
tempvar range_check_ptr = range_check_ptr;
105+
} else {
106+
tempvar syscall_ptr = syscall_ptr;
107+
tempvar pedersen_ptr = pedersen_ptr;
108+
tempvar range_check_ptr = range_check_ptr;
109+
}
110+
94111
test_revert_fuzz();
95112
return ();
96113
}

0 commit comments

Comments
 (0)