47 lines
1.3 KiB
Bash
Executable file
47 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e;
|
|
|
|
# Run a build with a given toolchain.
|
|
TC=${TC?Supply a toolchain in this environment variable}
|
|
|
|
echo "Rust toolchain: ${TC}"
|
|
|
|
REPO_DIR=$( cd $(dirname ${BASH_SOURCE[0]})/..; pwd )
|
|
export CARGO_TARGET_DIR="${REPO_DIR}/target/build_local/${TC}"
|
|
|
|
set -x;
|
|
|
|
rustup self update;
|
|
rustup toolchain update ${TC};
|
|
|
|
cd ${REPO_DIR}/framed;
|
|
|
|
export RUSTFLAGS="--deny warnings";
|
|
|
|
# use_std build
|
|
cargo +${TC} test -p framed --verbose --lib;
|
|
|
|
if [[ "${TC}" == "nightly" ]]; then
|
|
# no_std build
|
|
cargo +${TC} test -p framed --verbose --lib \
|
|
--no-default-features --features=use_nightly;
|
|
|
|
rustup target add --toolchain "${TC}" thumbv7em-none-eabihf
|
|
|
|
cargo +${TC} build --verbose --lib \
|
|
--target thumbv7em-none-eabihf \
|
|
--no-default-features --features=use_nightly;
|
|
|
|
# doc tests require nightly
|
|
cargo +${TC} test -p framed --verbose --doc \
|
|
--features=use_nightly;
|
|
fi
|
|
|
|
cargo +${TC} test -p framed --verbose --lib --features=trace;
|
|
cargo +${TC} doc -p framed --verbose --no-deps;
|
|
|
|
if [[ "${TC}" == "stable" ]]; then
|
|
# Only run decode_typed_test on stable because currently the Debug format
|
|
# is different between stable and nightly and stable is the default for decode_typed.
|
|
TC=${TC} ${REPO_DIR}/bin/decode_typed_test;
|
|
fi
|