summaryrefslogtreecommitdiffstats
path: root/ci/azure-tsan.yml
blob: 0104697e19b6caf7428aeae24a083079c276b5a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
jobs:
- job: ${{ parameters.name }}
  displayName: TSAN
  strategy:
    matrix:
      Timer:
        cmd: cargo test -p tokio-timer --test hammer
  pool:
    vmImage: ubuntu-16.04
  steps:
  - template: azure-install-rust.yml
    parameters:
      rust_version: ${{ parameters.rust }}

  - template: azure-patch-crates.yml
  - script: |
        set -e

        # Make sure the benchmarks compile
        export ASAN_OPTIONS="detect_odr_violation=0 detect_leaks=0"
        export TSAN_OPTIONS="suppressions=`pwd`/ci/tsan"
        export RUST_BACKTRACE=1

        # Run address sanitizer
        RUSTFLAGS="-Z sanitizer=address" \
        $(cmd) --target x86_64-unknown-linux-gnu

        # Run thread sanitizer
        RUSTFLAGS="-Z sanitizer=thread" \
        $(cmd) --target x86_64-unknown-linux-gnu
    displayName: TSAN / MSAN
    env:
      TSAN: yes