aboutsummaryrefslogtreecommitdiff
path: root/ci/azure-tsan.yml
diff options
context:
space:
mode:
Diffstat (limited to 'ci/azure-tsan.yml')
-rw-r--r--ci/azure-tsan.yml26
1 files changed, 26 insertions, 0 deletions
diff --git a/ci/azure-tsan.yml b/ci/azure-tsan.yml
new file mode 100644
index 0000000..198b187
--- /dev/null
+++ b/ci/azure-tsan.yml
@@ -0,0 +1,26 @@
+jobs:
+- job: ${{ parameters.name }}
+ displayName: TSAN
+ pool:
+ vmImage: ubuntu-16.04
+
+ steps:
+ - template: azure-install-rust.yml
+ parameters:
+ rust_version: ${{ parameters.rust_version }}
+
+ - script: |
+ set -e
+
+ export RUST_TEST_THREADS=1
+ export ASAN_OPTIONS="detect_odr_violation=0 detect_leaks=0"
+ export TSAN_OPTIONS="suppressions=`pwd`/ci/tsan"
+
+ # 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 test --target x86_64-unknown-linux-gnu --test test_bytes --test test_buf --test test_buf_mut
+ displayName: TSAN / MSAN