#!/bin/sh # We try to support some older versions of rustc. However, the support is # tiered a bit. Our dev-dependencies do *not* guarantee that old minimal # version. So we don't do tests on the older ones. Also, the # signal-hook-registry supports older rustc than we signal-hook. set -ex rm -f Cargo.lock cargo build --all --exclude signal-hook-async-std --exclude signal-hook-tokio if [ "$RUST_VERSION" = 1.36.0 ] ; then exit fi if [ "$OS" = "windows-latest" ] || [ "$RUST_VERSION" = 1.40.0 ]; then # The async support crates rely on the iterator module # which isn't available for windows. So exclude them # from the build. # Also, some dependencies of the runtimes don't like 1.40. EXCLUDE_FROM_BUILD="--exclude signal-hook-mio --exclude signal-hook-tokio --exclude signal-hook-async-std" else EXCLUDE_FROM_BUILD="" fi export RUSTFLAGS="-D warnings" cargo test --all --all-features $EXCLUDE_FROM_BUILD cargo test --all $EXCLUDE_FROM_BUILD