| #!/bin/bash |
| |
| set -ex |
| |
| cmd="${1:-test}" |
| |
| # Install cargo-hack for feature flag test |
| host=$(rustc -Vv | grep host | sed 's/host: //') |
| curl -LsSf https://github.com/taiki-e/cargo-hack/releases/latest/download/cargo-hack-$host.tar.gz | tar xzf - -C ~/.cargo/bin |
| |
| # Run with each feature |
| # * --each-feature includes both default/no-default features |
| # * --optional-deps is needed for serde feature |
| cargo hack "${cmd}" --each-feature --optional-deps |
| # Run with all features |
| cargo "${cmd}" --all-features |
| |
| cargo doc --no-deps --all-features |
| |
| if [[ "${RUST_VERSION}" == "nightly"* ]]; then |
| # Check benchmarks |
| cargo check --benches |
| |
| # Check minimal versions |
| cargo clean |
| cargo update -Zminimal-versions |
| cargo check --all-features |
| fi |