andoriyu / cargo-suity

This tool helps you automate testing of you rust application on CI.
15 stars 3 forks source link

cargo-suity

Build Status codecov Version

This tool helps you automate testing of you rust application on CI. Currently it can run defined workflows and report results in JUnit format. It's using unstable rust-test feature and may break... Under the good suity executes cargo as sub-process and parses its output.

asciicast

Installation

 $ cargo install -f cargo-suity

Usage

 $ cargo suity

Current version is missing any sort of argument variables. It just runs all of workflows it could find. Which probably covers most of the use cases... In order to view JUnit file you probably need support of your CI (click on azure pipelines badge to see what I'm talking about) or some kind of viewer.

Exit codes

- 0 all tests across all workflows passes
- 101 - ran into error (permission denied, out of disk space, etc)
- N number of failed tests

Configuration (suity.toml)

File is optional. If not specified then default configuration is used. Here is an example configuration:

[global]
features = []
format   = "JUnit"
output   = "./test-results"

[workflow.default]
doc         = false
unit        = true
integration = ["*"]

[workflow.integration-cfg-serde]
doc         = false
unit        = false
integration = ["not_really_a_test"]

Code quality

Honestly...code is a mess. Only rust-test's json to JUnit part is covered by tests. I didn't even try running clippy on it. However, I'm using it other projects and on itself.