π§ͺ Complete test suite and modular CLI refactor (v0.5.0) #18
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
β¨ Summary
This PR marks a major structural milestone for Librius, completing the first phase of the roadmap (v0.5.x):
the implementation of a comprehensive test suite and a full CLI modular refactor.
The CLI is now cleanly separated into logical components (
args.rs,dispatch.rs,mod.rs) and all test code has been consolidated under/tests, providing a solid foundation for future releases, including the upcominglibrius_corecrate and GUI frontend.π§ͺ Added
setup_temp_db()utility for creating temporary SQLite databases cross-platform:%TEMP%\librius_test_*.db/tmp/librius_test_*.db--help,search, etc.) viaassert_cmdandpredicates.π§ Changed
cli/args.rsβ defines commands, subcommands, and global options.cli/dispatch.rsβ handles parsing and subcommand execution.cli/mod.rsβ acts as unified entry point, exportingbuild_cli(),run_cli(), andparse_cli().cli.rsand migrated remaining logic intomod.rs.π§± Internal
#[cfg(test)]modules fromisbn.rsandlib.rs./tests/for a cleaner and unified structure.v0.5.1.β Testing
cargo test -- --nocapture.π¦ Version
Release: v0.5.0
Date: 2025-11-11