#!/bin/sh # # Run the automated tests for the project. set -eu quiet=-q hideok=chronic if [ "$#" -gt 0 ] then case "$1" in verbose | -v | --verbose) quiet= hideok= ;; esac fi got_cargo_cmd() { cargo --list | grep " $1 " > /dev/null } # Check version numbers in Cargo.toml vs debian/changelog v1="$(awk '/^version/ { print $NF }' Cargo.toml | tr -d '"')" v2="$(dpkg-parsechangelog -SVersion | sed 's/-.*$//')" if [ "$v1" != "$v2" ] then echo "Version from Carog.toml ($v1) and debian/changelog ($v2) don't match" 1>&2 exit 1 fi cargo build --all-targets $quiet got_cargo_cmd clippy && cargo clippy $quiet got_cargo_cmd fmt && cargo fmt -- --check $hideok cargo test $quiet sp-docgen obnam.md -o obnam.html sp-docgen obnam.md -o obnam.pdf sp-codegen obnam.md -o test.py rm -f test.log $hideok python3 test.py --log test.log "$@" echo "Everything seems to be in order."