cargo-test-all

Crates.iocargo-test-all
lib.rscargo-test-all
version0.2.0
sourcesrc
created_at2020-01-15 09:20:23.17911
updated_at2022-05-14 13:56:17.975704
descriptionCargo extension for running tests of the used dependencies
homepagehttps://github.com/Relrin/cargo-test-all
repositoryhttps://github.com/Relrin/cargo-test-all
max_upload_size
id198577
size71,422
Valeryi Savich (Relrin)

documentation

README

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:

  1. From the given output determines which crates needs to test.
  2. Creates the target/testing/deps directory that will be used for storing crates downloaded from Crates.io or with Git.
  3. For each crate:
    1. Download crate from the default storage or via Git (if it isn't local).
    2. Move to the folder with code
    3. Build the sources and run tests as the task, executed by the worker
    4. Results of the finished task stored in the main thread and print them out when everything is done.
Commit count: 41

cargo fmt