A utility for running arbitrary commands and checking their output
cargo install cmdprobe
See the example cmdprobe.yaml
file for what configuration is available.
Construct your own configuration file, and then run cmdprobe against it to execute all the checks that you need to do.
cmdprobe --config-file /etc/cmdprobe.yml
You can supply a statsd host and cmdprobe
will emit metrics for each test & stage.
cmdprobe --config-file /etc/cmdprobe.yml --statsd-address 127.0.0.1:8125
The following metrics will be emitted:
# Did the entire probe run fail/succeed
cmdprobe.probe.failed
cmdprobe.probe.passed
# Did one check (a collection of stages) fail/succeed
cmdprobe.check.failed
cmdprobe.check.passed
# Did an indidivual stage within a check fail/succeed
cmdprobe.stage.failed
cmdprobe.stage.passed
Ensure you have a cmdprobe.yaml
file in the current directory
# Start the httpbin for testing
docker-compose up -d
# Run cmdprobe with the local config file
RUST_LOG=cmdprobe=INFO cargo run
I modelled this tool after Tavern so that my team would have an easy time understanding how to use it and migrate existing tests across.