mod utils;
use utils::{
TestEnv, init_project, run_build, update_assembly_file, verify_project_structure,
verify_so_files,
};
#[test]
fn test_memo_project_e2e() {
let env = TestEnv::new("memo");
init_project(&env, "memo");
verify_project_structure(&env, "memo");
run_build(&env);
verify_so_files(&env);
env.cleanup();
println!("🎉 All tests passed! Memo project E2E test completed successfully.");
}
#[test]
fn test_memo_project_e2e_second() {
let env = TestEnv::new("memo2");
init_project(&env, "memo2");
verify_project_structure(&env, "memo2");
let new_memo_content = r#".equ NUM_ACCOUNTS, 0x00
.equ DATA_LEN, 0x08
.equ DATA, 0x10
.globl entrypoint
entrypoint:
ldxdw r0, [r1+NUM_ACCOUNTS]
ldxdw r2, [r1+DATA_LEN]
add64 r1, DATA
call sol_log_
exit"#;
update_assembly_file(&env, "memo2", new_memo_content);
run_build(&env);
verify_so_files(&env);
env.cleanup();
println!("🎉 Second test passed! Memo2 project E2E test completed successfully.");
}