mirror of
https://github.com/Noratrieb/elven-forest.git
synced 2026-01-16 19:35:02 +01:00
tests
This commit is contained in:
parent
5ef748c2c5
commit
b76d57ee9d
9 changed files with 226 additions and 36 deletions
56
elven-wald/tests/integration/simple_asm.rs
Normal file
56
elven-wald/tests/integration/simple_asm.rs
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
use std::process::Command;
|
||||
|
||||
use crate::prelude::*;
|
||||
|
||||
use super::run;
|
||||
|
||||
#[test]
|
||||
fn single_object_file() {
|
||||
let ctx = ctx();
|
||||
|
||||
let empty = ctx.nasm(
|
||||
"empty",
|
||||
"
|
||||
global _start
|
||||
section .text
|
||||
_start:
|
||||
mov rax, 60
|
||||
mov rdi, 0
|
||||
syscall
|
||||
",
|
||||
);
|
||||
|
||||
let out = elven_wald!(ctx; empty);
|
||||
run(Command::new(out));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn two_object_files() {
|
||||
let ctx = ctx();
|
||||
|
||||
let start = ctx.nasm(
|
||||
"start",
|
||||
"
|
||||
global _start
|
||||
extern exit
|
||||
|
||||
section .text
|
||||
_start:
|
||||
call exit
|
||||
",
|
||||
);
|
||||
let exit = ctx.nasm(
|
||||
"exit",
|
||||
"
|
||||
global exit
|
||||
section .text
|
||||
exit:
|
||||
mov rax, 60
|
||||
mov rdi, 0
|
||||
syscall
|
||||
",
|
||||
);
|
||||
|
||||
let out = elven_wald!(ctx; start, exit);
|
||||
run(Command::new(out));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue