Skip to content

Commit dc6bbb8

Browse files
starknet_os: validate_builtins function
1 parent 9551bd0 commit dc6bbb8

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

crates/starknet_os/src/runner.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ use crate::io::os_input::{
2929
};
3030
use crate::io::os_output::{StarknetAggregatorRunnerOutput, StarknetOsRunnerOutput};
3131
use crate::metrics::OsMetrics;
32+
#[cfg(any(test, feature = "testing"))]
33+
use crate::test_utils::validate_builtins;
34+
3235

3336
pub struct RunnerReturnObject {
3437
#[cfg(feature = "include_program_output")]
@@ -208,7 +211,7 @@ pub fn run_os_for_testing<S: StateReader>(
208211
}: OsHints,
209212
state_readers: Vec<S>,
210213
) -> Result<(StarknetOsRunnerOutput, Vec<OsTransactionTrace>), StarknetOsError> {
211-
let (runner_output, snos_hint_processor) = create_hint_processor_and_run_os(
214+
let (mut runner_output, snos_hint_processor) = create_hint_processor_and_run_os(
212215
layout,
213216
os_hints_config,
214217
&os_block_inputs,
@@ -220,6 +223,8 @@ pub fn run_os_for_testing<S: StateReader>(
220223
public_key_y,
221224
)?;
222225

226+
validate_builtins(&mut runner_output.cairo_runner);
227+
223228
let txs_trace: Vec<OsTransactionTrace> =
224229
snos_hint_processor.get_current_execution_helper().unwrap().os_logger.get_txs().clone();
225230

crates/starknet_os/src/test_utils.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,12 @@ pub mod cairo_runner;
22
pub mod errors;
33
#[cfg(test)]
44
pub mod utils;
5+
6+
#[cfg(any(test, feature = "testing"))]
7+
use cairo_vm::vm::runners::cairo_runner::CairoRunner;
8+
pub(crate) fn validate_builtins(runner: &mut CairoRunner) {
9+
let builtins_start = runner.get_builtins_final_stack(runner.vm.get_ap()).unwrap();
10+
let n_builtins = runner.get_program().builtins_len();
11+
let builtins_end = runner.vm.get_ap();
12+
assert_eq!((builtins_start + n_builtins).unwrap(), builtins_end);
13+
}

0 commit comments

Comments
 (0)