set -eu
hideok=chronic
if [ "$#" -gt 0 ]
then
case "$1" in
verbose | -v | --verbose)
hideok=
shift
;;
esac
fi
got_cargo_cmd()
{
cargo --list | grep " $1 " > /dev/null
}
$hideok cargo build --all-targets
got_cargo_cmd clippy && $hideok cargo clippy
got_cargo_cmd fmt && $hideok cargo fmt -- --check
$hideok cargo test
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
if [ "$(id -un)" = root ]
then
echo Not running tests as root.
else
$hideok python3 test.py --log test.log "$@"
fi
echo "Everything seems to be in order."