51 lines
1.5 KiB
Bash
Executable File
51 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -ex
|
|
|
|
echo Testing num-bigint on rustc ${TRAVIS_RUST_VERSION}
|
|
|
|
FEATURES="serde i128 u64_digit prime"
|
|
|
|
export RUST_BACKTRACE=1
|
|
|
|
# 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"
|
|
|
|
# It should build in no_std
|
|
if [[ "$TRAVIS_RUST_VERSION" == "nightly" ]]; then
|
|
rustup target add thumbv7m-none-eabi
|
|
cargo build --no-default-features --target=thumbv7m-none-eabi
|
|
|
|
# It should work in no_std on nightly.
|
|
# Note: Doctest might show an error: https://github.com/rust-lang/rust/issues/54010
|
|
# The "error" is wrong however, the doctests still run.
|
|
cargo test --no-default-features
|
|
fi
|
|
|
|
# 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"
|
|
|
|
# Ensure that feature also works in nostd context on nightly.
|
|
if [[ "$TRAVIS_RUST_VERSION" == "nightly" ]]; then
|
|
cargo build --verbose --no-default-features --features="$feature"
|
|
cargo test --verbose --no-default-features --features="$feature"
|
|
fi
|
|
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
|
|
cd benchmark_crate
|
|
cargo bench --all-features --no-run
|
|
fi
|