|
1 | 1 | use crate::{ |
2 | 2 | hint_processor::hint_processor_definition::HintProcessor, |
3 | 3 | types::{ |
4 | | - builtin_name::BuiltinName, layout::CairoLayoutParams, layout_name::LayoutName, |
| 4 | + builtin_name::BuiltinName, |
| 5 | + layout::{CairoLayout, CairoLayoutParams}, |
| 6 | + layout_name::LayoutName, |
5 | 7 | program::Program, |
6 | 8 | }, |
7 | 9 | vm::{ |
@@ -165,8 +167,11 @@ pub fn cairo_run_program_with_initial_scope( |
165 | 167 |
|
166 | 168 | let mut cairo_runner = CairoRunner::new( |
167 | 169 | program, |
168 | | - cairo_run_config.layout, |
169 | | - cairo_run_config.dynamic_layout_params.clone(), |
| 170 | + CairoLayout::new( |
| 171 | + cairo_run_config.layout, |
| 172 | + cairo_run_config.dynamic_layout_params.clone(), |
| 173 | + ) |
| 174 | + .map_err(RunnerError::from)?, |
170 | 175 | cairo_run_config.proof_mode, |
171 | 176 | cairo_run_config.trace_enabled, |
172 | 177 | cairo_run_config.disable_trace_padding, |
@@ -272,8 +277,11 @@ pub fn cairo_run_pie( |
272 | 277 | let program = Program::from_stripped_program(&pie.metadata.program); |
273 | 278 | let mut cairo_runner = CairoRunner::new( |
274 | 279 | &program, |
275 | | - cairo_run_config.layout, |
276 | | - cairo_run_config.dynamic_layout_params.clone(), |
| 280 | + CairoLayout::new( |
| 281 | + cairo_run_config.layout, |
| 282 | + cairo_run_config.dynamic_layout_params.clone(), |
| 283 | + ) |
| 284 | + .map_err(RunnerError::from)?, |
277 | 285 | false, |
278 | 286 | cairo_run_config.trace_enabled, |
279 | 287 | cairo_run_config.disable_trace_padding, |
@@ -430,8 +438,11 @@ pub fn cairo_run_fuzzed_program( |
430 | 438 |
|
431 | 439 | let mut cairo_runner = CairoRunner::new( |
432 | 440 | &program, |
433 | | - cairo_run_config.layout, |
434 | | - cairo_run_config.dynamic_layout_params.clone(), |
| 441 | + CairoLayout::new( |
| 442 | + cairo_run_config.layout, |
| 443 | + cairo_run_config.dynamic_layout_params.clone(), |
| 444 | + ) |
| 445 | + .map_err(RunnerError::from)?, |
435 | 446 | cairo_run_config.proof_mode, |
436 | 447 | cairo_run_config.trace_enabled, |
437 | 448 | cairo_run_config.disable_trace_padding, |
@@ -641,6 +652,24 @@ mod tests { |
641 | 652 | assert_eq!(&output_buffer, "0\n"); |
642 | 653 | } |
643 | 654 |
|
| 655 | + #[cfg(feature = "test_utils")] |
| 656 | + #[test] |
| 657 | + fn test_cairo_run_fuzzed_program() { |
| 658 | + let program = Program::from_bytes( |
| 659 | + include_bytes!("../../cairo_programs/struct.json"), |
| 660 | + Some("main"), |
| 661 | + ) |
| 662 | + .unwrap(); |
| 663 | + let mut hint_processor = BuiltinHintProcessor::new_empty(); |
| 664 | + cairo_run_fuzzed_program( |
| 665 | + program, |
| 666 | + &CairoRunConfig::default(), |
| 667 | + &mut hint_processor, |
| 668 | + 1000, |
| 669 | + ) |
| 670 | + .unwrap(); |
| 671 | + } |
| 672 | + |
644 | 673 | #[test] |
645 | 674 | fn run_with_no_trace() { |
646 | 675 | let program = Program::from_bytes( |
|
0 commit comments