summaryrefslogtreecommitdiffstats
path: root/third_party/rust/num-bigint/ci/test_full.sh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/num-bigint/ci/test_full.sh')
-rwxr-xr-xthird_party/rust/num-bigint/ci/test_full.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/third_party/rust/num-bigint/ci/test_full.sh b/third_party/rust/num-bigint/ci/test_full.sh
new file mode 100755
index 0000000000..4e1b60e98a
--- /dev/null
+++ b/third_party/rust/num-bigint/ci/test_full.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+set -ex
+
+echo Testing num-bigint on rustc ${TRAVIS_RUST_VERSION}
+
+FEATURES="serde"
+if [[ "$TRAVIS_RUST_VERSION" =~ ^(nightly|beta|stable|1.31.0|1.26.0|1.22.0)$ ]]; then
+ FEATURES="$FEATURES rand"
+fi
+if [[ "$TRAVIS_RUST_VERSION" =~ ^(nightly|beta|stable|1.31.0|1.26.0)$ ]]; then
+ FEATURES="$FEATURES i128"
+fi
+if [[ "$TRAVIS_RUST_VERSION" =~ ^(nightly|beta|stable|1.31.0)$ ]]; then
+ FEATURES="$FEATURES quickcheck quickcheck_macros"
+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