| #!/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 |