php-src/azure/msan_job.yml
Nikita Popov 9b39ddbb85 Disable mysqlnd compression on msan build
This recently got enabled when detection was fixed. However,
we don't want this for msan builds, because our zlib is not
instrumented.
2020-06-08 10:35:05 +02:00

80 lines
2.7 KiB
YAML

parameters:
configurationName: ''
configurationParameters: ''
runTestsParameters: ''
timeoutInMinutes: 60
jobs:
- job: ${{ parameters.configurationName }}
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
pool:
vmImage: 'ubuntu-18.04'
steps:
- template: apt.yml
- script: |
export CC=clang
export CXX=clang++
export CFLAGS="-fsanitize=memory -DZEND_TRACK_ARENA_ALLOC"
export LDFLAGS="-fsanitize=memory"
./buildconf --force
# msan requires all used libraries to be instrumented,
# so we should avoiding linking against anything but libc here
./configure ${{ parameters.configurationParameters }} \
--enable-option-checking=fatal \
--prefix=/usr \
--without-sqlite3 \
--without-pdo-sqlite \
--without-libxml \
--disable-dom \
--disable-simplexml \
--disable-xml \
--disable-xmlreader \
--disable-xmlwriter \
--without-pcre-jit \
--enable-phpdbg \
--enable-fpm \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--disable-mysqlnd-compression-support \
--without-pear \
--enable-exif \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
--enable-pcntl \
--enable-mbstring \
--disable-mbregex \
--enable-sockets \
--enable-bcmath \
--enable-calendar \
--enable-ftp \
--enable-zend-test \
--enable-werror \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d
displayName: 'Configure Build'
- script: make -j$(/usr/bin/nproc) >/dev/null
displayName: 'Make Build'
- script: |
sudo make install
sudo mkdir /etc/php.d
sudo chmod 777 /etc/php.d
echo mysqli.default_socket=/var/run/mysqld/mysqld.sock > /etc/php.d/mysqli.ini
echo pdo_mysql.default_socket=/var/run/mysqld/mysqld.sock > /etc/php.d/pdo_mysql.ini
displayName: 'Install Build'
- script: |
sudo service mysql start
mysql -uroot -proot -e "CREATE DATABASE IF NOT EXISTS test"
displayName: 'Setup'
- template: test.yml
parameters:
configurationName: ${{ parameters.configurationName }}
runTestsParameters: ${{ parameters.runTestsParameters }}
- template: test.yml
parameters:
configurationName: ${{ parameters.configurationName }}
runTestsName: 'OpCache'
runTestsParameters: >-
${{ parameters.runTestsParameters }}
-d zend_extension=opcache.so -d opcache.enable_cli=1