Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/greyblake/cargo-testify
Watches changes in a rust project, runs test and shows friendly notification
https://github.com/greyblake/cargo-testify
cargo desktop devtools notification rust test
Last synced: about 2 months ago
JSON representation
Watches changes in a rust project, runs test and shows friendly notification
- Host: GitHub
- URL: https://github.com/greyblake/cargo-testify
- Owner: greyblake
- License: mit
- Created: 2017-08-27T22:12:45.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-19T17:16:49.000Z (almost 6 years ago)
- Last Synced: 2024-07-24T22:07:23.509Z (about 2 months ago)
- Topics: cargo, desktop, devtools, notification, rust, test
- Language: Rust
- Homepage:
- Size: 226 KB
- Stars: 82
- Watchers: 4
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Cargo testify
[![Build Status](https://travis-ci.org/greyblake/cargo-testify.svg?branch=master)](https://travis-ci.org/greyblake/cargo-testify)
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/greyblake/cargo-testify/master/LICENSE)Automatically runs tests on your Rust project and notifies about the result.
![rust test with notification](https://raw.githubusercontent.com/greyblake/cargo-testify/master/artifacts/demo.gif)
## Install
Install prerequisites (for Debian/Ubuntu):
```
apt-get install -y libdbus-1-dev
```Install the crate:
```
cargo install cargo-testify
```## Usage
Run within your Rust project:
```
cargo testify
```## How does it work?
It watches changes in the project directory, and reacts by running `cargo test`.
The output result is parsed to identify one of the possible outcomes:
* Tests passed
* Tests failed
* Compilation failedTo display notification in the Desktop environment `notify-send` (Linux) or `osascript` (MacOS) commands are used.
## Watched files
* `src/**/*.rs`
* `tests/**/*.rs`
* `Cargo.toml`
* `Cargo.lock`
* `build.rs`## Bypassing options to `cargo test`
Run `cargo test --lib` on file change:
```
cargo testify -- --lib
```## License
[MIT](https://github.com/greyblake/cargo-testify/blob/master/LICENSE) © [Sergey Potapov](http://greyblake.com/)
## Contributors
- [greyblake](https://github.com/greyblake) Potapov Sergey - creator, maintainer.
- [hoodie](https://github.com/hoodie) Hendrik Sollich - thanks for notify-rust crate
- [waywardmonkeys](https://github.com/waywardmonkeys) Bruce Mitchener - fix typos
- [Hugal31](https://github.com/Hugal31) - support of `--include` option
- [barskern](https://github.com/barskern) Ole Martin Ruud - migrate from clap to structopt