11 # mac os weirdness (https://github.com/travis-ci/travis-ci/issues/6307)
12 - curl -sSL https://rvm.io/mpapis.asc | gpg --import -
14 # in a cronjob, use latest (not pinned) nightly
15 - if [ "$TRAVIS_EVENT_TYPE" = cron ]; then rustup override set nightly; fi
17 - export PATH=$HOME/.local/bin:$PATH
18 - rustup target add i686-unknown-linux-gnu
19 - rustup target add i686-pc-windows-gnu
20 - rustup target add i686-pc-windows-msvc
21 - rustup component add rust-src
22 - cargo install xargo || echo "skipping xargo install"
27 # Test and install plain miri
28 cargo build --release --all-features &&
29 cargo test --release --all-features &&
30 cargo install --all-features --force
32 # test that the rustc_tests binary compiles
34 cargo build --release &&
37 # get ourselves a MIR-full libstd
39 export MIRI_SYSROOT=~/.xargo/HOST
41 # run all tests with full mir
42 cargo test --release --all-features
46 if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
47 cargo miri -q -- -Zmiri-start-fn
49 cargo miri -q -- -Zmiri-start-fn >stdout.real 2>stderr.real &&
50 cat stdout.real stderr.real &&
51 # Test `cargo miri` output. Not on mac because output redirecting doesn't
52 # work. There is no error. It just stops CI.
53 diff -u stdout.ref stdout.real &&
54 diff -u stderr.ref stderr.real
56 # test `cargo miri test`
68 - RUST_TEST_NOCAPTURE=1
69 - TRAVIS_CARGO_NIGHTLY_FEATURE=""