aboutsummaryrefslogtreecommitdiff
path: root/cortex-m-rt/ci/script.sh
diff options
context:
space:
mode:
Diffstat (limited to 'cortex-m-rt/ci/script.sh')
-rwxr-xr-xcortex-m-rt/ci/script.sh31
1 files changed, 17 insertions, 14 deletions
diff --git a/cortex-m-rt/ci/script.sh b/cortex-m-rt/ci/script.sh
index 4683566..2941e48 100755
--- a/cortex-m-rt/ci/script.sh
+++ b/cortex-m-rt/ci/script.sh
@@ -7,10 +7,13 @@ main() {
cargo check --target "$TARGET" --features device
+ # A `critical_section` implementation is always needed.
+ needed_features=cortex-m/critical-section-single-core
+
if [ "$TARGET" = x86_64-unknown-linux-gnu ] && [ "$TRAVIS_RUST_VERSION" = stable ]; then
( cd macros && cargo check && cargo test )
- cargo test --features device --test compiletest
+ cargo test --features "device,${needed_features}" --test compiletest
fi
local examples=(
@@ -43,25 +46,25 @@ main() {
if [ "$TARGET" != x86_64-unknown-linux-gnu ]; then
# Only test on stable and nightly, not MSRV.
if [ "$TRAVIS_RUST_VERSION" = stable ] || [ "$TRAVIS_RUST_VERSION" = nightly ]; then
- RUSTDOCFLAGS="-Cpanic=abort" cargo test --doc
+ RUSTDOCFLAGS="-Cpanic=abort" cargo test --features "${needed_features}" --doc
fi
for linker in "${linkers[@]}"; do
for ex in "${examples[@]}"; do
- cargo rustc --target "$TARGET" --example "$ex" -- $linker
- cargo rustc --target "$TARGET" --example "$ex" --release -- $linker
+ cargo rustc --target "$TARGET" --example "$ex" --features "${needed_features}" -- $linker
+ cargo rustc --target "$TARGET" --example "$ex" --features "${needed_features}" --release -- $linker
done
for ex in "${fail_examples[@]}"; do
- ! cargo rustc --target "$TARGET" --example "$ex" -- $linker
- ! cargo rustc --target "$TARGET" --example "$ex" --release -- $linker
+ ! cargo rustc --target "$TARGET" --example "$ex" --features "${needed_features}" -- $linker
+ ! cargo rustc --target "$TARGET" --example "$ex" --features "${needed_features}" --release -- $linker
done
- cargo rustc --target "$TARGET" --example device --features device -- $linker
- cargo rustc --target "$TARGET" --example device --features device --release -- $linker
+ cargo rustc --target "$TARGET" --example device --features "device,${needed_features}" -- $linker
+ cargo rustc --target "$TARGET" --example device --features "device,${needed_features}" --release -- $linker
- cargo rustc --target "$TARGET" --example minimal --features set-sp -- $linker
- cargo rustc --target "$TARGET" --example minimal --features set-sp --release -- $linker
- cargo rustc --target "$TARGET" --example minimal --features set-vtor -- $linker
- cargo rustc --target "$TARGET" --example minimal --features set-vtor --release -- $linker
+ cargo rustc --target "$TARGET" --example minimal --features "set-sp,${needed_features}" -- $linker
+ cargo rustc --target "$TARGET" --example minimal --features "set-sp,${needed_features}" --release -- $linker
+ cargo rustc --target "$TARGET" --example minimal --features "set-vtor,${needed_features}" -- $linker
+ cargo rustc --target "$TARGET" --example minimal --features "set-vtor,${needed_features}" --release -- $linker
done
fi
@@ -69,9 +72,9 @@ main() {
thumbv6m-none-eabi|thumbv7m-none-eabi)
for linker in "${linkers[@]}"; do
env RUSTFLAGS="$linker -C link-arg=-Tlink.x" cargo run \
- --target "$TARGET" --example qemu | grep "x = 42"
+ --target "$TARGET" --features "${needed_features}" --example qemu | grep "x = 42"
env RUSTFLAGS="$linker -C link-arg=-Tlink.x" cargo run \
- --target "$TARGET" --example qemu --release | grep "x = 42"
+ --target "$TARGET" --features "${needed_features}" --example qemu --release | grep "x = 42"
done
;;