blob: bc4867266f212171cd916bdef8ac8cde3cb71508 [file] [log] [blame]
#!/bin/sh
set -ex
# Setup some variables for executing cargo commands.
# Things are a little different if we're testing with cross.
if [ ! z "$CROSS_TARGET" ]; then
rustup target add "$CROSS_TARGET"
cargo install cross --force
export CARGO_CMD="cross"
export TARGET_PARAM="--target $CROSS_TARGET"
else
export CARGO_CMD="cargo"
export TARGET_PARAM=""
fi
# Test the build and docs.
"$CARGO_CMD" build --verbose $TARGET_PARAM
"$CARGO_CMD" doc --verbose $TARGET_PARAM
# If we're testing on an older version of Rust, then only check that we
# can build the crate. This is because the dev dependencies might be updated
# more frequently, and therefore might require a newer version of Rust.
#
# This isn't ideal. It's a compromise.
if [ "$TRAVIS_RUST_VERSION" = "1.12.0" ]; then
exit
fi
"$CARGO_CMD" test --verbose $TARGET_PARAM
"$CARGO_CMD" test --verbose --no-default-features --lib $TARGET_PARAM
if [ "$TRAVIS_RUST_VERSION" = "nightly" ]; then
"$CARGO_CMD" test \
--verbose --features i128 $TARGET_PARAM
"$CARGO_CMD" test \
--verbose --no-default-features --features i128 --lib $TARGET_PARAM
"$CARGO_CMD" bench \
--verbose --no-run $TARGET_PARAM
"$CARGO_CMD" bench \
--verbose --no-run --no-default-features $TARGET_PARAM
"$CARGO_CMD" bench \
--verbose --no-run --features i128 $TARGET_PARAM
"$CARGO_CMD" bench \
--verbose --no-run --no-default-features --features i128 $TARGET_PARAM
fi