#!/bin/sh

set -eu

if ! cargo +nightly fmt --all -- --check
then
    echo "There are some code style issues."
    echo "Run `cargo fmt` first."
    exit 1
fi

if ! cargo clippy --all-targets -- -D warnings
then
    echo "There are some clippy issues."
    exit 1
fi

if ! cargo test
then
    echo "There are some test issues."
    exit 1
fi

if ! cargo test --features thread_safe
then
    echo "There are some test issues (with `thread_safe` feature)."
    exit 1
fi

exit 0
