aboutsummaryrefslogtreecommitdiff
path: root/vendor/smallvec/scripts/run_miri.sh
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/smallvec/scripts/run_miri.sh')
-rw-r--r--vendor/smallvec/scripts/run_miri.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/vendor/smallvec/scripts/run_miri.sh b/vendor/smallvec/scripts/run_miri.sh
new file mode 100644
index 0000000..010ceb0
--- /dev/null
+++ b/vendor/smallvec/scripts/run_miri.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/bash
+
+set -ex
+
+# Clean out our target dir, which may have artifacts compiled by a version of
+# rust different from the one we're about to download.
+cargo clean
+
+# Install and run the latest version of nightly where miri built successfully.
+# Taken from: https://github.com/rust-lang/miri#running-miri-on-ci
+
+MIRI_NIGHTLY=nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/miri)
+echo "Installing latest nightly with Miri: $MIRI_NIGHTLY"
+rustup override unset
+rustup default "$MIRI_NIGHTLY"
+
+rustup component add miri
+cargo miri setup
+
+cargo miri test --verbose
+cargo miri test --verbose --features union
+cargo miri test --verbose --all-features
+
+rustup override set nightly