浏览代码

Create a bot for monitoring bad memory usage (leaks, etc). (#3090)

Ehsan 5 年之前
父节点
当前提交
6b6f40200b
共有 1 个文件被更改,包括 15 次插入0 次删除
  1. 15 0
      .travis.yml

+ 15 - 0
.travis.yml

@@ -32,6 +32,19 @@ matrix:
           sources: ubuntu-toolchain-r-test
           packages: ninja-build g++-5
       env: DXC_BUILD_TYPE=Release
+    # Configuration for AddressSanitizer (https://clang.llvm.org/docs/AddressSanitizer.html)
+    - os: linux
+      compiler: clang
+      env:
+        - DXC_BUILD_TYPE=Debug
+        - BUILD_CONFIG=ASAN
+  # Allow address sanitizer bot to fail for now. TODO(Remove this).
+  allow_failures:
+    - os: linux
+      compiler: clang
+      env:
+        - DXC_BUILD_TYPE=Debug
+        - BUILD_CONFIG=ASAN
 
 cache:
   apt: true
@@ -60,6 +73,7 @@ before_script:
   - git submodule update --init
   - if [ ${CC} = gcc ]; then CC=gcc-5; CXX=g++-5; CXX_FLAGS=; else CXX_FLAGS=-Werror; fi
   - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ulimit -Sn 1024; fi
+  - if [[ ${BUILD_CONFIG} = ASAN ]]; then ADDITIONAL_CMAKE_FLAGS="-DLLVM_USE_SANITIZER=Address -DSPIRV_USE_SANITIZER=address"; fi
 
 script:
   - mkdir build && cd build
@@ -69,6 +83,7 @@ script:
       -DCMAKE_BUILD_TYPE=${DXC_BUILD_TYPE}
       -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX}
       -DCMAKE_CXX_FLAGS=${CXX_FLAGS}
+      ${ADDITIONAL_CMAKE_FLAGS}
   - ninja
   - ./bin/dxc --help
   - ./bin/dxc -T ps_6_0 ../tools/clang/test/CodeGenSPIRV/passthru-ps.hlsl2spv