summaryrefslogtreecommitdiffstats
path: root/third_party/rust/bytes/ci
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/bytes/ci')
-rwxr-xr-xthird_party/rust/bytes/ci/miri.sh11
-rw-r--r--third_party/rust/bytes/ci/test-stable.sh28
-rw-r--r--third_party/rust/bytes/ci/tsan.sh13
3 files changed, 52 insertions, 0 deletions
diff --git a/third_party/rust/bytes/ci/miri.sh b/third_party/rust/bytes/ci/miri.sh
new file mode 100755
index 0000000000..0158756cd3
--- /dev/null
+++ b/third_party/rust/bytes/ci/miri.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+set -e
+
+rustup toolchain install nightly --component miri
+rustup override set nightly
+cargo miri setup
+
+export MIRIFLAGS="-Zmiri-strict-provenance"
+
+cargo miri test
+cargo miri test --target mips64-unknown-linux-gnuabi64
diff --git a/third_party/rust/bytes/ci/test-stable.sh b/third_party/rust/bytes/ci/test-stable.sh
new file mode 100644
index 0000000000..4421f3a979
--- /dev/null
+++ b/third_party/rust/bytes/ci/test-stable.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+
+set -ex
+
+cmd="${1:-test}"
+
+# Install cargo-hack for feature flag test
+host=$(rustc -Vv | grep host | sed 's/host: //')
+curl -LsSf https://github.com/taiki-e/cargo-hack/releases/latest/download/cargo-hack-$host.tar.gz | tar xzf - -C ~/.cargo/bin
+
+# Run with each feature
+# * --each-feature includes both default/no-default features
+# * --optional-deps is needed for serde feature
+cargo hack "${cmd}" --each-feature --optional-deps
+# Run with all features
+cargo "${cmd}" --all-features
+
+cargo doc --no-deps --all-features
+
+if [[ "${RUST_VERSION}" == "nightly"* ]]; then
+ # Check benchmarks
+ cargo check --benches
+
+ # Check minimal versions
+ cargo clean
+ cargo update -Zminimal-versions
+ cargo check --all-features
+fi
diff --git a/third_party/rust/bytes/ci/tsan.sh b/third_party/rust/bytes/ci/tsan.sh
new file mode 100644
index 0000000000..ca520bd7fd
--- /dev/null
+++ b/third_party/rust/bytes/ci/tsan.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+set -ex
+
+export ASAN_OPTIONS="detect_odr_violation=0 detect_leaks=0"
+
+# Run address sanitizer
+RUSTFLAGS="-Z sanitizer=address" \
+cargo test --target x86_64-unknown-linux-gnu --test test_bytes --test test_buf --test test_buf_mut
+
+# Run thread sanitizer
+RUSTFLAGS="-Z sanitizer=thread" \
+cargo -Zbuild-std test --target x86_64-unknown-linux-gnu --test test_bytes --test test_buf --test test_buf_mut