mssh 0.0.0

Mssh Simple SHell. Bash interpreter/compiler. Will not support all the functionalities.




macro_rules! snap {
    ($name:tt, $desc: tt, $closure:tt ) => {
        #[test]
        fn $name() {
            let path = format!("tests/inputs/runtime/{}.sh", stringify!($name));
            let program = crate::compiler::tests::compile(&path).unwrap();
            let evaluated_variables = $closure(program);

            let mut settings = insta::Settings::clone_current();
            settings.set_description($desc);
            settings.set_snapshot_path("../../tests/snapshots");
            settings.bind(|| {
                insta::assert_snapshot!(evaluated_variables);
            });
        }
    };
}

pub(crate) use snap;