From fd2f099c4a9806d3e12810965c8970f11cf6258e Mon Sep 17 00:00:00 2001 From: FrancoGiachetta Date: Tue, 27 Aug 2024 10:27:49 -0300 Subject: [PATCH] format --- src/dump.rs | 4 ---- src/main.rs | 10 ++++++++-- src/utils.rs | 46 ---------------------------------------------- 3 files changed, 8 insertions(+), 52 deletions(-) delete mode 100644 src/utils.rs diff --git a/src/dump.rs b/src/dump.rs index fe0323b..ab625c1 100644 --- a/src/dump.rs +++ b/src/dump.rs @@ -37,10 +37,6 @@ impl StateDump { .collect(), } } - - pub fn item(&self) -> BTreeMap { - self.items.clone() - } } impl Serialize for StateDump { diff --git a/src/main.rs b/src/main.rs index 37bbec5..265d1d0 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,8 @@ use self::args::CmdArgs; use cairo_lang_sierra::{ - extensions::{core::CoreTypeConcrete, starknet::StarkNetTypeConcrete}, + extensions::{ + circuit::CircuitTypeConcrete, core::CoreTypeConcrete, starknet::StarkNetTypeConcrete, + }, ProgramParser, }; use clap::Parser; @@ -65,10 +67,14 @@ fn main() -> Result<(), Box> { CoreTypeConcrete::Felt252(_) => Value::parse_felt(&iter.next().unwrap()), CoreTypeConcrete::GasBuiltin(_) => Value::U128(args.available_gas.unwrap()), CoreTypeConcrete::RangeCheck(_) + | CoreTypeConcrete::RangeCheck96(_) | CoreTypeConcrete::Bitwise(_) | CoreTypeConcrete::Pedersen(_) | CoreTypeConcrete::Poseidon(_) - | CoreTypeConcrete::SegmentArena(_) => Value::Unit, + | CoreTypeConcrete::SegmentArena(_) + | CoreTypeConcrete::Circuit( + CircuitTypeConcrete::AddMod(_) | CircuitTypeConcrete::MulMod(_), + ) => Value::Unit, CoreTypeConcrete::StarkNet(inner) => match inner { StarkNetTypeConcrete::System(_) => Value::Unit, _ => todo!(), diff --git a/src/utils.rs b/src/utils.rs deleted file mode 100644 index 9fa53b5..0000000 --- a/src/utils.rs +++ /dev/null @@ -1,46 +0,0 @@ -use std::{path::Path, sync::Arc}; - -use cairo_lang_compiler::{compile_cairo_project_at_path, CompilerConfig}; - -use crate::{create_vm, ProgramTrace, StateDump, Value}; - -pub fn run_program_assert_result(path: &Path, entry_point: &str, expected_output: Vec) { - let entry_point = entry_point.parse().unwrap(); - - let program = compile_cairo_project_at_path( - path, - CompilerConfig { - replace_ids: true, - ..Default::default() - }, - ) - .unwrap(); - - let mut vm = create_vm(Arc::new(program), entry_point, vec![], None).unwrap(); - - let mut trace = ProgramTrace::new(); - - while let Some((statement_idx, state)) = vm.step() { - trace.push(StateDump::new(statement_idx, state)); - } - - let output = trace.states.last().unwrap(); - - let result = { - let Value::Enum { - self_ty: _, - index: _, - payload, - } = output.item().last_entry().unwrap().get().clone() - else { - panic!("The program does not output anything"); - }; - let Value::Struct(result) = *payload else { - panic!(); - }; - - result - }; - - assert_eq!(expected_output, result,); -}