| # Azure Pipelines configuration for Valgrind for ICU4C. |
| # |
| # Note: The valgrind test configuration is in a separate file |
| # as it used to be run independently from the regular CI builds. |
| # |
| # The Ubuntu images don't have valgrind installed by default, so we need |
| # install it first. |
| # |
| # Run Valgrind for every Pull Request that goes into main |
| # or a maint- branch. This lets us catch any issues sooner rather than later. |
| pr: |
| branches: |
| include: |
| - main |
| - maint/maint-* |
| paths: |
| include: |
| - '*' |
| exclude: |
| - docs/* |
| - icu4j/* |
| - tools/* |
| - vendor/* |
| - .cpyskip.txt |
| - .travis.yml |
| - KEYS |
| - README.md |
| |
| jobs: |
| #------------------------------------------------------------------------- |
| - job: ICU4C_Clang_Valgrind_Ubuntu_1804 |
| displayName: 'C: Linux Clang Valgrind (Ubuntu 18.04)' |
| timeoutInMinutes: 60 |
| pool: |
| vmImage: 'ubuntu-18.04' |
| steps: |
| - checkout: self |
| lfs: true |
| fetchDepth: 10 |
| - script: | |
| set -ex |
| sudo apt -y update |
| sudo apt install -y valgrind |
| displayName: 'Install valgrind' |
| timeoutInMinutes: 5 |
| - script: | |
| cd icu4c/source && ./runConfigureICU --enable-debug Linux --disable-renaming && make -j2 tests |
| displayName: 'Build' |
| timeoutInMinutes: 10 |
| env: |
| CC: clang |
| CXX: clang++ |
| - script: | |
| 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 |
| displayName: 'Valgrind intltest' |
| timeoutInMinutes: 45 |
| - script: | |
| 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 |
| displayName: 'Valgrind cintltst' |
| timeoutInMinutes: 15 |
| - script: | |
| 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 |
| displayName: 'Valgrind iotest' |
| timeoutInMinutes: 5 |
| - script: | |
| 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 |
| displayName: 'Valgrind icuinfo' |
| timeoutInMinutes: 5 |
| |
| #------------------------------------------------------------------------- |