#!/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