test: consolidate 25 integration crates into one it binary

Each top-level tests/*.rs was its own crate → its own binary, each
statically linking the bundled engine + every dep. 26 of them, so an
edit to the lib relinked all 26. Moved the 25 standalone files into
tests/it/ under one tests/it/main.rs (the pattern typing_surface
already uses); cargo auto-detects it as the `it` target. End state: 2
integration-test binaries instead of 26.

Result: target/debug/deps 1.5 GB → 629 MB (-58%). Build time barely
moved (clean 22.9s→22.4s, lib-edit relink 13.3s→12.4s) — wall-clock is
dominated by compiling, not linking, so this is a disk win, not a speed
win (see docs/plans/20260602-test-consolidation.md). Tests unchanged at
2151/0/1; clippy clean; no fixups needed. typing_surface_matrix stays
its own already-consolidated binary.

Tradeoff: the 25 files now share one crate (a compile error fails the
whole `it` binary; module-scoped namespaces, no clashes) — negligible
for a solo project.
This commit is contained in:
claude@clouddev1
2026-06-02 22:13:03 +00:00
parent 42f95533ac
commit 9efae59c3c
27 changed files with 122 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
//! Consolidated integration-test binary (see
//! `docs/plans/20260602-test-consolidation.md`).
//!
//! Each former top-level `tests/*.rs` is now a module here, so the
//! whole suite links into **one** binary instead of 26 — turning an
//! edit-the-lib-then-test cycle from 26 separate links into one.
//! `tests/typing_surface_matrix.rs` stays a separate binary (it is
//! already a consolidated `mod`-based target).
mod case_insensitive_names;
mod column_op_guards;
mod engine_vocabulary_audit;
mod friendly_enrichment;
mod iteration2_persistence;
mod iteration3_rebuild;
mod iteration4a_rebuild_command;
mod iteration4b_lifecycle_commands;
mod iteration5_export_import;
mod iteration6_resume_history;
mod parse_error_pedagogy;
mod project_lifecycle;
mod replay_command;
mod sql_alter_table;
mod sql_create_index;
mod sql_create_table;
mod sql_delete;
mod sql_dml_e2e;
mod sql_drop_index;
mod sql_drop_table;
mod sql_insert;
mod sql_select;
mod sql_update;
mod undo_snapshots;
mod walking_skeleton;