SOULSEEK_E2E_MODE=daemon makes the existing e2e harness serve every session from a daemon instead of the command's own login, so the same 83 tests assert the same records and exit codes both ways. CI runs the suite twice. Two defects it found: serve judged whether anything was shared from this run's configuration rather than from the session, so routed to a daemon it would start with nothing to serve and report success. The TUI showed an empty conversation when attached, because the daemon's message history was never asked for. It is now a SessionApi method, empty locally, which puts the difference behind the seam. main.rs is now a thin entry point over the library rather than a second copy of every module, so the program compiles once instead of twice.
17 lines
388 B
Rust
17 lines
388 B
Rust
//! The program itself. `main.rs` is a thin entry point over this crate, so
|
|
//! every module is compiled once and integration tests drive the same code the
|
|
//! binary runs.
|
|
|
|
pub mod api;
|
|
pub mod cli;
|
|
pub mod commands;
|
|
pub mod daemon;
|
|
pub(crate) mod directories;
|
|
pub mod models;
|
|
pub mod output;
|
|
pub mod persist;
|
|
pub(crate) mod port_mapping;
|
|
pub mod remote;
|
|
pub mod run;
|
|
pub(crate) mod ui;
|