A tiny cargo subcommand for executing other subcommands on all "local" packages (ie. packages in the same repository). This allows running cargo test
on all crates in a repo with a single command.
As usual, this subcommand can be installed with cargo install
:
cargo install cargo-local-pkgs
This will run tests of all local crates (but see the notes below):
cargo local-pkgs test
Travis integration is easy, thanks to cargo install
:
yml
language: rust
before_script:
- |
cargo install cargo-local-pkgs &&
export PATH=$HOME/.cargo/bin:$PATH
script:
- cargo local-pkgs test
Libraries aren't supposed to check their Cargo.lock
into git, so it doesn't exist when running cargo local-pkgs
via Travis. However, we can generate it using cargo generate-lockfile
. Replace the script
section above with this:
yml
script:
- |
cargo generate-lockfile &&
cargo local-pkgs test
Cargo.lock
must exist (you can either check it in, or run cargo build
or cargo update
before using this subcommand)-p <pkg>