From 08f7725ce77da210a521e443a2f24c61ad8dc052 Mon Sep 17 00:00:00 2001 From: sofia Date: Fri, 1 Aug 2025 22:46:46 +0300 Subject: [PATCH] Compile cpu_raytracer example in e2e tests, but don't run it --- reid/tests/e2e.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/reid/tests/e2e.rs b/reid/tests/e2e.rs index d0fa6a3..882bfa7 100644 --- a/reid/tests/e2e.rs +++ b/reid/tests/e2e.rs @@ -6,12 +6,12 @@ use reid::{ mir::{self}, parse_module, perform_all_passes, }; -use reid_lib::Context; +use reid_lib::{compile::CompileOutput, Context}; use util::assert_err; mod util; -fn test(source: &str, name: &str, expected_exit_code: Option) { +fn test_compile(source: &str, name: &str) -> CompileOutput { assert_err(assert_err(std::panic::catch_unwind(|| { let mut map = Default::default(); let (id, tokens) = assert_err(parse_module(source, name, &mut map)); @@ -24,7 +24,14 @@ fn test(source: &str, name: &str, expected_exit_code: Option) { let codegen = assert_err(mir_context.codegen(&context)); - let output = codegen.compile(None, Vec::new()).output(); + Ok::<_, ()>(codegen.compile(None, Vec::new()).output()) + }))) +} + +fn test(source: &str, name: &str, expected_exit_code: Option) { + assert_err(assert_err(std::panic::catch_unwind(|| { + let output = test_compile(source, name); + let time = SystemTime::now(); let in_path = PathBuf::from(format!( "/tmp/temp-{}.o", @@ -157,3 +164,8 @@ fn associated_functions() { fn mutable_inner_functions() { test(include_str!("../../examples/mutable_inner.reid"), "test", Some(0)); } + +#[test] +fn cpu_raytracer_compiles() { + test_compile(include_str!("../../examples/cpu_raytracer.reid"), "test"); +}