#!/usr/bin/env bash set -ex cargo=cargo target_param="" if [ ! -z "$TARGET" ]; then rustup target add "$TARGET" cargo install -v cross --force cargo="cross" target_param="--target $TARGET" fi $cargo build -v $target_param $cargo test -v $target_param # for now, `cross bench` is broken https://github.com/rust-embedded/cross/issues/239 if [ "$cargo" != "cross" ]; then $cargo bench -v $target_param -- --test # don't actually record numbers fi $cargo doc -v $target_param $cargo test -v --release if [ ! -z "$COVERAGE" ]; then if [ ! -z "$TARGET" ]; then echo "cannot record coverage while cross compiling" exit 1 fi cargo install -v cargo-travis || echo "cargo-travis already installed" cargo coverage -v -m coverage-reports --kcov-build-location "$PWD/target" bash <(curl -s https://codecov.io/bash) -c -X gcov -X coveragepy -s coverage-reports fi