mirror of
https://github.com/rust-embedded/heapless.git
synced 2025-09-29 21:40:27 +00:00
63 lines
1.4 KiB
Bash
63 lines
1.4 KiB
Bash
set -euxo pipefail
|
|
|
|
main() {
|
|
cargo check --target $TARGET
|
|
cargo check --target $TARGET --features 'serde'
|
|
|
|
if [ $TARGET = x86_64-unknown-linux-gnu ]; then
|
|
cargo test --target $TARGET --features 'serde'
|
|
cargo test --target $TARGET --release --features 'serde'
|
|
|
|
if [ $MSRV = 1 ]; then
|
|
cd cfail
|
|
cargo run
|
|
cd ..
|
|
fi
|
|
|
|
|
|
if [ $TRAVIS_RUST_VERSION = nightly ]; then
|
|
export RUSTFLAGS="-Z sanitizer=thread"
|
|
export RUST_TEST_THREADS=1
|
|
export TSAN_OPTIONS="suppressions=$(pwd)/suppressions.txt"
|
|
|
|
cargo test --test tsan --target $TARGET
|
|
cargo test --test tsan --target $TARGET --release
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# fake Travis variables to be able to run this on a local machine
|
|
if [ -z ${TRAVIS_BRANCH-} ]; then
|
|
TRAVIS_BRANCH=auto
|
|
fi
|
|
|
|
if [ -z ${TRAVIS_PULL_REQUEST-} ]; then
|
|
TRAVIS_PULL_REQUEST=false
|
|
fi
|
|
|
|
if [ -z ${TRAVIS_RUST_VERSION-} ]; then
|
|
case $(rustc -V) in
|
|
*nightly*)
|
|
TRAVIS_RUST_VERSION=nightly
|
|
;;
|
|
*beta*)
|
|
TRAVIS_RUST_VERSION=beta
|
|
;;
|
|
*)
|
|
TRAVIS_RUST_VERSION=stable
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
if [ -z ${TARGET-} ]; then
|
|
TARGET=$(rustc -Vv | grep host | cut -d ' ' -f2)
|
|
fi
|
|
|
|
if [ -z ${MSRV-} ]; then
|
|
MSRV=0
|
|
fi
|
|
|
|
if [ $TRAVIS_BRANCH != master ]; then
|
|
main
|
|
fi
|