@@ -4,7 +4,10 @@ use crate::{tests::*, types::layout_name::LayoutName};
44use crate :: {
55 utils:: test_utils:: Program ,
66 vm:: {
7- runners:: { builtin_runner:: BuiltinRunner , cairo_runner:: CairoRunner } ,
7+ runners:: {
8+ builtin_runner:: BuiltinRunner ,
9+ cairo_runner:: { CairoRunnerBuilder , RunnerMode } ,
10+ } ,
811 security:: verify_secure_runner,
912 } ,
1013} ;
@@ -1213,17 +1216,31 @@ fn run_program_with_custom_mod_builtin_params(
12131216 } ;
12141217 let mut hint_processor = BuiltinHintProcessor :: new_empty ( ) ;
12151218 let program = Program :: from_bytes ( data, Some ( cairo_run_config. entrypoint ) ) . unwrap ( ) ;
1216- let mut cairo_runner = CairoRunner :: new (
1219+ let mut runner_builder = CairoRunnerBuilder :: new (
12171220 & program,
12181221 cairo_run_config. layout ,
1219- cairo_run_config. dynamic_layout_params ,
1220- cairo_run_config. proof_mode ,
1221- cairo_run_config. trace_enabled ,
1222- cairo_run_config. disable_trace_padding ,
1222+ cairo_run_config. dynamic_layout_params . clone ( ) ,
1223+ if cairo_run_config. proof_mode {
1224+ RunnerMode :: ProofModeCanonical
1225+ } else {
1226+ RunnerMode :: ExecutionMode
1227+ } ,
12231228 )
12241229 . unwrap ( ) ;
1230+ runner_builder. enable_trace ( cairo_run_config. trace_enabled ) ;
1231+ runner_builder. allow_missing_builtins ( false ) ;
1232+ runner_builder
1233+ . initialize_builtin_runners_for_layout ( )
1234+ . unwrap ( ) ;
1235+ runner_builder. initialize_base_segments ( ) ;
1236+ runner_builder. load_program ( ) . unwrap ( ) ;
1237+ runner_builder. initialize_builtin_segments ( ) ;
1238+ runner_builder. initialize_builtin_zero_segments ( ) ;
1239+ let end = runner_builder. initialize_main_entrypoint ( ) . unwrap ( ) ;
1240+ runner_builder. initialize_validation_rules ( ) . unwrap ( ) ;
1241+
1242+ let mut cairo_runner = runner_builder. build ( ) . unwrap ( ) ;
12251243
1226- let end = cairo_runner. initialize ( false ) . unwrap ( ) ;
12271244 // Modify add_mod & mul_mod params
12281245 for runner in cairo_runner. vm . get_builtin_runners_as_mut ( ) {
12291246 if let BuiltinRunner :: Mod ( runner) = runner {
0 commit comments