From 53ff62fc3d9306708ff5258e063e90da08882b16 Mon Sep 17 00:00:00 2001 From: Karim Jerbi Date: Wed, 30 Sep 2026 14:18:15 +0100 Subject: [PATCH] test: consolidate integration test suites into a single test runner Disables Cargo's automatic test target discovery (autotests = false) and gathers all 24 integration test suites under a single integration test target in tests/integration.rs. This reduces the number of separate integration test binaries from 24 to 1 across all platforms, eliminating redundant linker invocations and peak memory pressure during cargo test while significantly improving build and test times. --- Cargo.toml | 5 +++ tests/integration.rs | 76 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 tests/integration.rs diff --git a/Cargo.toml b/Cargo.toml index d465e2aa8..d964beff8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,6 +4,7 @@ version = "2026.39.0" edition = "2021" build = "build.rs" default-run = "OpenCADStudio" +autotests = false [workspace] members = [ @@ -162,3 +163,7 @@ harness = false [[bench]] name = "command_benchmarks" harness = false + +[[test]] +name = "integration" +path = "tests/integration.rs" diff --git a/tests/integration.rs b/tests/integration.rs new file mode 100644 index 000000000..d695e4ffb --- /dev/null +++ b/tests/integration.rs @@ -0,0 +1,76 @@ +//! Consolidated integration test runner for OpenCADStudio. +//! +//! Gathers and executes all integration test suites as submodules within a +//! single test binary. + +#[path = "active_space_roundtrip.rs"] +mod active_space_roundtrip; + +#[path = "annotative_context_roundtrip.rs"] +mod annotative_context_roundtrip; + +#[path = "annotative_context_synthesis.rs"] +mod annotative_context_synthesis; + +#[path = "block_hatch_export.rs"] +mod block_hatch_export; + +#[path = "block_text_draw_depth.rs"] +mod block_text_draw_depth; + +#[path = "dim_copy_check.rs"] +mod dim_copy_check; + +#[path = "dim_leader_render_check.rs"] +mod dim_leader_render_check; + +#[path = "dim_line_color_roundtrip.rs"] +mod dim_line_color_roundtrip; + +#[path = "explode_regression.rs"] +mod explode_regression; + +#[path = "flatten_regression.rs"] +mod flatten_regression; + +#[path = "hatch_shader_lod.rs"] +mod hatch_shader_lod; + +#[path = "mesh_shader_limits.rs"] +mod mesh_shader_limits; + +#[path = "page_setup_root_repair.rs"] +mod page_setup_root_repair; + +#[path = "parametric_constraints_solve.rs"] +mod parametric_constraints_solve; + +#[path = "pdf_export_images_check.rs"] +mod pdf_export_images_check; + +#[path = "pdf_export_text_check.rs"] +mod pdf_export_text_check; + +#[path = "presspull_curved_boundary.rs"] +mod presspull_curved_boundary; + +#[path = "section_plane_roundtrip.rs"] +mod section_plane_roundtrip; + +#[path = "text_font_rendering.rs"] +mod text_font_rendering; + +#[path = "text_shader_minification.rs"] +mod text_shader_minification; + +#[path = "ucs_face_plane.rs"] +mod ucs_face_plane; + +#[path = "viewport_wide_polyline_plot_width.rs"] +mod viewport_wide_polyline_plot_width; + +#[path = "xclip_plot_test.rs"] +mod xclip_plot_test; + +#[path = "zoom_extents_xline.rs"] +mod zoom_extents_xline;