X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=ci.sh;h=a86c5ca490a40fa06cad32df515f257a132ffdd9;hb=f76e256086004191916dd89e74bd4286d5f80c01;hp=12683a2fccbec7c5bb9f2515ef7142789da24bc4;hpb=9a9988a4b04622805ae5060dcafc123964da2c3d;p=rust.git diff --git a/ci.sh b/ci.sh index 12683a2fccb..a86c5ca490a 100755 --- a/ci.sh +++ b/ci.sh @@ -2,8 +2,6 @@ set -euo pipefail # Determine configuration -export RUST_TEST_NOCAPTURE=1 -export RUST_BACKTRACE=1 export RUSTFLAGS="-D warnings" export CARGO_INCREMENTAL=0 export CARGO_EXTRA_FLAGS="--all-features" @@ -23,32 +21,44 @@ function run_tests { fi ./miri test --locked - if ! [ -n "${MIRI_TEST_TARGET+exists}" ]; then - # Only for host architecture: tests with MIR optimizations - # FIXME: only testing level 2 because of . - MIRIFLAGS="-Z mir-opt-level=2" ./miri test --locked + if [ -z "${MIRI_TEST_TARGET+exists}" ]; then + # Only for host architecture: tests with optimizations (`-O` is what cargo passes, but crank MIR + # optimizations up all the way). + MIRIFLAGS="-O -Zmir-opt-level=4" ./miri test --locked fi + + # On Windows, there is always "python", not "python3" or "python2". + if command -v python3 > /dev/null; then + PYTHON=python3 + else + PYTHON=python + fi + # "miri test" has built the sysroot for us, now this should pass without # any interactive questions. - ${PYTHON:-python3} test-cargo-miri/run-test.py - + ${PYTHON} test-cargo-miri/run-test.py echo } # host run_tests -if [ "${TRAVIS_OS_NAME:-}" == linux ]; then - MIRI_TEST_TARGET=i686-unknown-linux-gnu run_tests - MIRI_TEST_TARGET=x86_64-apple-darwin run_tests - MIRI_TEST_TARGET=i686-pc-windows-msvc run_tests -elif [ "${TRAVIS_OS_NAME:-}" == osx ]; then - MIRI_TEST_TARGET=mips64-unknown-linux-gnuabi64 run_tests # big-endian architecture - MIRI_TEST_TARGET=x86_64-pc-windows-msvc run_tests -elif [ "${CI_WINDOWS:-}" == True ]; then - MIRI_TEST_TARGET=x86_64-unknown-linux-gnu run_tests - MIRI_TEST_TARGET=x86_64-apple-darwin run_tests -else - echo "FATAL: unknown CI platform" - exit 1 -fi +case $HOST_TARGET in + x86_64-unknown-linux-gnu) + MIRI_TEST_TARGET=i686-unknown-linux-gnu run_tests + MIRI_TEST_TARGET=aarch64-apple-darwin run_tests + MIRI_TEST_TARGET=i686-pc-windows-msvc run_tests + ;; + x86_64-apple-darwin) + MIRI_TEST_TARGET=mips64-unknown-linux-gnuabi64 run_tests # big-endian architecture + MIRI_TEST_TARGET=x86_64-pc-windows-msvc run_tests + ;; + i686-pc-windows-msvc) + MIRI_TEST_TARGET=x86_64-unknown-linux-gnu run_tests + MIRI_TEST_TARGET=x86_64-apple-darwin run_tests + ;; + *) + echo "FATAL: unknown OS" + exit 1 + ;; +esac