#!/bin/bash set -euo pipefail # Determine configuration if [ "$TRAVIS_OS_NAME" == osx ]; then export MIRI_SYSROOT_BASE=~/Library/Caches/miri.miri.miri/ FOREIGN_TARGET=i686-apple-darwin else export MIRI_SYSROOT_BASE=~/.cache/miri/ FOREIGN_TARGET=i686-unknown-linux-gnu fi echo "Build and install miri" cargo build --release --all-features --all-targets cargo install --all-features --force --path . echo echo "Get ourselves a MIR-full libstd for the host and a foreign architecture" cargo miri setup cargo miri setup --target "$FOREIGN_TARGET" echo echo "Test miri with full MIR, on the host and other architectures" MIRI_SYSROOT="$MIRI_SYSROOT_BASE"/HOST cargo test --release --all-features MIRI_SYSROOT="$MIRI_SYSROOT_BASE" MIRI_COMPILETEST_TARGET="$FOREIGN_TARGET" cargo test --release --all-features echo echo "Test cargo integration" (cd test-cargo-miri && MIRI_SYSROOT="$MIRI_SYSROOT_BASE"/HOST ./run-test.py) echo