blob: 3021b040c8ef78fd9dbdc1c798b2bdb7c79ac5f1 [file] [log] [blame]
#!/bin/bash
set -ex
echo Testing num-bigint on rustc ${TRAVIS_RUST_VERSION}
FEATURES="serde"
if [[ "$TRAVIS_RUST_VERSION" =~ ^(nightly|beta|stable|1.26.0|1.22.0)$ ]]; then
FEATURES="$FEATURES rand"
fi
if [[ "$TRAVIS_RUST_VERSION" =~ ^(nightly|beta|stable|1.26.0)$ ]]; then
FEATURES="$FEATURES i128"
fi
# num-bigint should build and test everywhere.
cargo build --verbose
cargo test --verbose
# It should build with minimal features too.
cargo build --no-default-features --features="std"
cargo test --no-default-features --features="std"
# Each isolated feature should also work everywhere.
for feature in $FEATURES; do
cargo build --verbose --no-default-features --features="std $feature"
cargo test --verbose --no-default-features --features="std $feature"
done
# test all supported features together
cargo build --features="std $FEATURES"
cargo test --features="std $FEATURES"
# make sure benchmarks can be built
if [[ "$TRAVIS_RUST_VERSION" == "nightly" ]]; then
cargo bench --all-features --no-run
fi