Link the ordinary tests once, and keep their debug info to line tables

Eleven `tests/*.rs` were eleven binaries, each linking the whole graph --
`wgpu` and all -- to run a handful of cases. They are modules of one target
now, under `tests/cases/`, and `cargo test --test suite layout::` still picks
one out. The fuzzers and the `*_cost` measurements stay their own targets:
they are run on their own and want to be selectable without building the
rest.

`profile.test` takes `debug = "line-tables-only"`, which is what a backtrace
here actually reads; the type and variable information was the bulk of what
the linker was writing.

Measured on this machine, rebuilding `iris`'s test targets after a change to
the crate: 14.3 s before, 9.8 s with one target, 7.7 s with both. `target/`
went from 45 GB to 13 GB. The suite still passes 102 tests, and the binary
still carries `.debug_line`.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
iris-aiandClaude Opus 5 committed 2026-09-16 03:00:43 -04:00
1 parent 39e4ca20e6
commit cb955f1023
13 files changed
+35

No files matched your search

+3
View File
@@ -28,6 +28,9 @@ members = ["core", "macro", "rig-input"]
[profile.dev]
debug = 1
[profile.test]
debug = "line-tables-only"
[workspace.package]
version = "0.1.0"
edition = "2024"