1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Every integration suite, as one test binary.
//!
//! Cargo compiles each top-level file in `tests/` into its own test binary.
//! With this crate's dependency graph (DataFusion, Arrow, Iceberg, sqlx,
//! tonic, axum), each linked executable is roughly 360 MB in a debug build,
//! largely because of debug information. Twenty-two such binaries consume
//! around 8 GB of disk, enough to exhaust a GitHub Actions runner.
//!
//! The resulting failure is not a tidy "no space left on device":
//! `rust-lld` typically crashes with a bus error while extending the output
//! file, which can easily be mistaken for a linker bug.
//!
//! Placing the suites under `tests/it/` makes them modules of a single
//! integration test crate instead. Each suite keeps its own `#![cfg]` gates,
//! fixtures, and test names, while the dependency graph is linked only once.