1# Azure Pipelines configuration for Valgrind for ICU4C. 2# 3# Note: The valgrind test configuration is in a separate file 4# so that it can be run independently from the regular builds. 5# 6# The Ubuntu images don't have valgrind installed by default, so we need 7# install it first. 8# 9# Only run valgrind on the master and maint branches, and 10# batch up any pending changes so that we will only have at most 11# one build running at a given time (since it takes time). 12trigger: 13 batch: true 14 branches: 15 include: 16 - master 17 - maint/maint-* 18 paths: 19 include: 20 - '*' 21 exclude: 22 - docs/* 23 - icu4j/* 24 - tools/* 25 - vendor/* 26 - .appveyor.xml 27 - .cpyskip.txt 28 - .travis.yml 29 - KEYS 30 - README.md 31 32jobs: 33#------------------------------------------------------------------------- 34- job: ICU4C_Clang_Valgrind_Ubuntu_1604 35 displayName: 'C: Linux Clang Valgrind (Ubuntu 16.04)' 36 timeoutInMinutes: 60 37 pool: 38 vmImage: 'Ubuntu 16.04' 39 steps: 40 - checkout: self 41 lfs: true 42 fetchDepth: 1 43 - script: | 44 set -ex 45 sudo apt -y update 46 sudo apt install -y valgrind 47 displayName: 'Install valgrind' 48 timeoutInMinutes: 5 49 - script: | 50 cd icu4c/source && ./runConfigureICU --enable-debug Linux --disable-renaming --disable-layout --disable-layoutex && make -j2 tests 51 displayName: 'Build' 52 timeoutInMinutes: 10 53 env: 54 CC: clang 55 CXX: clang++ 56 - script: | 57 cd icu4c/source/test/intltest && LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH valgrind --tool=memcheck --error-exitcode=1 --leak-check=full --show-reachable=yes ./intltest 58 displayName: 'Valgrind intltest' 59 timeoutInMinutes: 45 60 - script: | 61 cd icu4c/source/test/cintltst && LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH valgrind --tool=memcheck --error-exitcode=1 --leak-check=full --show-reachable=yes ./cintltst 62 displayName: 'Valgrind cintltst' 63 timeoutInMinutes: 15 64 - script: | 65 cd icu4c/source/test/iotest && LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH valgrind --tool=memcheck --error-exitcode=1 --leak-check=full --show-reachable=yes ./iotest 66 displayName: 'Valgrind iotest' 67 timeoutInMinutes: 5 68 - script: | 69 cd icu4c/source/tools/icuinfo && LD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$LD_LIBRARY_PATH valgrind --tool=memcheck --error-exitcode=1 --leak-check=full --show-reachable=yes ./icuinfo 70 displayName: 'Valgrind icuinfo' 71 timeoutInMinutes: 5 72 73#------------------------------------------------------------------------- 74