• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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