diff --git a/src/arch/x86_64/mod.rs b/src/arch/x86_64/mod.rs index 738bf58..60f8d14 100644 --- a/src/arch/x86_64/mod.rs +++ b/src/arch/x86_64/mod.rs @@ -1,7 +1,6 @@ mod asm; mod encode; mod reg; -#[cfg(test)] mod test; use crate::{ @@ -13,6 +12,7 @@ use crate::{ pub use asm::*; pub use encode::*; pub use reg::*; +pub use test::bin::run as bin_test; pub struct X86_64; diff --git a/src/backend/test.rs b/src/arch/x86_64/test/bin.rs similarity index 98% rename from src/backend/test.rs rename to src/arch/x86_64/test/bin.rs index f947655..8596c9d 100644 --- a/src/backend/test.rs +++ b/src/arch/x86_64/test/bin.rs @@ -1,11 +1,10 @@ -use std::{fs::OpenOptions, io::Write, os::unix::fs::OpenOptionsExt, process::Command}; - use crate::{ arch::x86_64::*, backend::{Instr as BInstr, Program}, }; +use std::{fs::OpenOptions, io::Write, os::unix::fs::OpenOptionsExt, process::Command}; -pub fn test_x86_64() { +pub fn run() { let mut program = Program::::default(); let text = b"Hello world!\n"; let text_sym = program.ro_data(text); diff --git a/src/arch/x86_64/test/mod.rs b/src/arch/x86_64/test/mod.rs new file mode 100644 index 0000000..968b0ac --- /dev/null +++ b/src/arch/x86_64/test/mod.rs @@ -0,0 +1,5 @@ +pub mod bin; +#[cfg(test)] +mod reg; +#[cfg(test)] +use super::*; diff --git a/src/arch/x86_64/test.rs b/src/arch/x86_64/test/reg.rs similarity index 100% rename from src/arch/x86_64/test.rs rename to src/arch/x86_64/test/reg.rs diff --git a/src/backend/mod.rs b/src/backend/mod.rs index a53c0fb..77eab1b 100644 --- a/src/backend/mod.rs +++ b/src/backend/mod.rs @@ -2,8 +2,6 @@ mod elf; mod ir; mod link; -mod test; pub use ir::*; pub use link::*; -pub use test::*; diff --git a/src/main.rs b/src/main.rs index 876df6e..b1fbde5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,7 +8,7 @@ mod parser; mod parser_ir; fn main() { - return crate::backend::test_x86_64(); + return crate::arch::x86_64::bin_test(); let mut args = std::env::args(); let Some(path) = args.nth(1) else { println!("file expected");