aboutsummaryrefslogtreecommitdiff
path: root/ci/script.sh
diff options
context:
space:
mode:
authorbors[bot] <bors[bot]@users.noreply.github.com>2019-02-23 19:37:29 +0000
committerbors[bot] <bors[bot]@users.noreply.github.com>2019-02-23 19:37:29 +0000
commit6b61cd2e3ff26d96615a7bfc386077ccf6505c28 (patch)
tree2a8b089d42aad24286cba11c4561e714fc84b85d /ci/script.sh
parent43c2ffbdcfcf96382dbe5e5a64b2af90a447636d (diff)
parentc6f9b2c0aa62fa3ceed6ac58928af15d9e3a58a2 (diff)
Merge #153
153: add "nightly" feature; replace hint::unreachable_unchecked with a panic r=korken89 a=japaric this implements the action plan described in #149 to give you a sense of the overhead of this change: it has increased the binary size of some of our examples by up to 10% but this is mainly from pulling in a panic handler that does formatting r? @korken89 Co-authored-by: Jorge Aparicio <jorge@japaric.io>
Diffstat (limited to 'ci/script.sh')
-rw-r--r--ci/script.sh46
1 files changed, 30 insertions, 16 deletions
diff --git a/ci/script.sh b/ci/script.sh
index 4b9cd22..5cc79fb 100644
--- a/ci/script.sh
+++ b/ci/script.sh
@@ -33,6 +33,11 @@ arm_example() {
main() {
local T=$TARGET
+ local nightly=""
+
+ if [ $TRAVIS_RUST_VERSION = nightly ]; then
+ nightly="nightly"
+ fi
mkdir -p ci/builds
@@ -41,12 +46,12 @@ main() {
case $TRAVIS_RUST_VERSION in
nightly*)
# TODO how to run a subset of these tests when timer-queue is disabled?
- cargo test --features timer-queue --test compiletest --target $T
+ cargo test --features "$nightly,timer-queue" --test compiletest --target $T
esac
cargo check --target $T
if [ $TARGET != thumbv6m-none-eabi ]; then
- cargo check --features timer-queue --target $T
+ cargo check --features "$nightly,timer-queue" --target $T
fi
if [ $TRAVIS_RUST_VERSION != nightly ]; then
@@ -76,9 +81,9 @@ main() {
return
fi
- cargo check --target $T --examples
+ cargo check --features "$nightly" --target $T --examples
if [ $TARGET != thumbv6m-none-eabi ]; then
- cargo check --features timer-queue --target $T --examples
+ cargo check --features "$nightly,timer-queue" --target $T --examples
fi
# run-pass tests
@@ -115,16 +120,17 @@ main() {
fi
if [ $ex != types ]; then
- arm_example "run" $ex "debug" "" "1"
- arm_example "run" $ex "release" "" "1"
+ arm_example "run" $ex "debug" "$nightly" "1"
+ arm_example "run" $ex "release" "$nightly" "1"
fi
if [ $TARGET != thumbv6m-none-eabi ]; then
- arm_example "run" $ex "debug" "timer-queue" "1"
- arm_example "run" $ex "release" "timer-queue" "1"
+ arm_example "run" $ex "debug" "$nightly,timer-queue" "1"
+ arm_example "run" $ex "release" "$nightly,timer-queue" "1"
fi
done
+ local built=()
cargo clean
for ex in ${exs[@]}; do
if [ $ex = ramfunc ] && [ $T = thumbv6m-none-eabi ]; then
@@ -139,19 +145,27 @@ main() {
fi
if [ $ex != types ]; then
- arm_example "build" $ex "debug" "" "2"
- cmp ci/builds/${ex}_debug_1.hex ci/builds/${ex}_debug_2.hex
- arm_example "build" $ex "release" "" "2"
- cmp ci/builds/${ex}_release_1.hex ci/builds/${ex}_release_2.hex
+ arm_example "build" $ex "debug" "$nightly" "2"
+ cmp ci/builds/${ex}_${nightly/nightly/nightly_}debug_1.hex \
+ ci/builds/${ex}_${nightly/nightly/nightly_}debug_2.hex
+ arm_example "build" $ex "release" "$nightly" "2"
+ cmp ci/builds/${ex}_${nightly/nightly/nightly_}release_1.hex \
+ ci/builds/${ex}_${nightly/nightly/nightly_}release_2.hex
+
+ built+=( $ex )
fi
if [ $TARGET != thumbv6m-none-eabi ]; then
- arm_example "build" $ex "debug" "timer-queue" "2"
- cmp ci/builds/${ex}_timer-queue_debug_1.hex ci/builds/${ex}_timer-queue_debug_2.hex
- arm_example "build" $ex "release" "timer-queue" "2"
- cmp ci/builds/${ex}_timer-queue_release_1.hex ci/builds/${ex}_timer-queue_release_2.hex
+ arm_example "build" $ex "debug" "$nightly,timer-queue" "2"
+ cmp ci/builds/${ex}_${nightly}_timer-queue_debug_1.hex \
+ ci/builds/${ex}_${nightly}_timer-queue_debug_2.hex
+ arm_example "build" $ex "release" "$nightly,timer-queue" "2"
+ cmp ci/builds/${ex}_${nightly}_timer-queue_release_1.hex \
+ ci/builds/${ex}_${nightly}_timer-queue_release_2.hex
fi
done
+
+ ( cd target/$TARGET/release/examples/ && size ${built[@]} )
esac
}