4 releases
0.2.0 | May 14, 2022 |
---|---|
0.1.2 | Feb 12, 2020 |
0.1.1 | Feb 12, 2020 |
0.1.0 | Jan 15, 2020 |
#31 in #testing-cargo
26KB
624 lines
cargo-test-all
Cargo extension for running tests of the used dependencies
Features
- Running tests for each dependency, specified in Cargo.toml
- Can be specified only the certain crates for testing
- Have an opportunity to run multiple threads/workers for building and testing crates
Installation
For installation this executable use the following command in your terminal or shell:
- Install the
cargo-clone
:
cargo install cargo-clone
- Install this extension itself:
cargo install cargo-test-all
Usage
Use the cargo test-all
call at the toplevel of any Cargo project.
Cargo extension for running tests of the used dependencies
USAGE:
cargo-test-all [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
--only <only> List of certain crates for testing, separated by comma.
-t, --threads <threads> An amount of concurrent threads for testing crates. [default: 1]
How it works
Because the Cargo currently does not provide (as far as I aware) any way to install the dependency with its own tests, it works in the following way:
- From the given output determines which crates needs to test.
- Creates the
target/testing/deps
directory that will be used for storing crates downloaded from Crates.io or with Git. - For each crate:
- Download crate from the default storage or via Git (if it isn't local).
- Move to the folder with code
- Build the sources and run tests as the task, executed by the worker
- Results of the finished task stored in the main thread and print them out when everything is done.
Dependencies
~69MB
~1.5M SLoC