mirror of
https://github.com/php/php-src.git
synced 2024-11-24 18:34:21 +08:00
9b39ddbb85
This recently got enabled when detection was fixed. However, we don't want this for msan builds, because our zlib is not instrumented.
80 lines
2.7 KiB
YAML
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
|