summaryrefslogtreecommitdiff
path: root/azure
diff options
context:
space:
mode:
Diffstat (limited to 'azure')
-rw-r--r--azure/community_job.yml20
-rw-r--r--azure/configure.yml2
-rw-r--r--azure/file_cache_job.yml54
-rw-r--r--azure/i386/job.yml18
-rw-r--r--azure/i386/test.yml33
-rw-r--r--azure/job.yml13
-rw-r--r--azure/macos/job.yml15
-rw-r--r--azure/msan_job.yml5
-rw-r--r--azure/tests.yml34
9 files changed, 132 insertions, 62 deletions
diff --git a/azure/community_job.yml b/azure/community_job.yml
index 87b06184ba..e7b99cd374 100644
--- a/azure/community_job.yml
+++ b/azure/community_job.yml
@@ -46,6 +46,7 @@ jobs:
echo zend_extension=opcache.so > /etc/php.d/opcache.ini
echo opcache.enable_cli=1 >> /etc/php.d/opcache.ini
echo opcache.protect_memory=1 >> /etc/php.d/opcache.ini
+ echo opcache.jit_buffer_size=1G >> /etc/php.d/opcache.ini
displayName: 'Install Build'
- script: |
git clone https://github.com/laravel/framework.git --branch=master --depth=1
@@ -56,6 +57,10 @@ jobs:
# Avoid test using exit(), which thus leaks.
# We can use USE_TRACKED_ALLOC=1 if more of these show up.
sed -i "s/function_exists('pcntl_fork')/false/" tests/Filesystem/FilesystemTest.php
+ # Work around PHP 8 incompatibility in Doctrine
+ sed -i 's/function query()/function query(...$args)/' vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
+ sed -i 's/function setFetchMode($fetchMode, $arg2 = null, $arg3 = null)/function setFetchMode($fetchMode, $arg2 = null, $arg3 = null, ...$args)/' vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php
+ sed -i 's/public function getMessage();//' vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/DriverException.php
php vendor/bin/phpunit
displayName: 'Test Laravel'
- script: |
@@ -63,13 +68,20 @@ jobs:
cd symfony
php7.3 /usr/bin/composer install --no-progress
php7.3 ./phpunit install
+ # Work around PHP 8 incompatibility in Doctrine
+ sed -i 's/function query()/function query(...$args)/' vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php
export USE_ZEND_ALLOC=0
export USE_TRACKED_ALLOC=1
export ASAN_OPTIONS=exitcode=139
- php ./phpunit --exclude-group tty,benchmark,intl-data,transient
- if [ $? -gt 128 ]; then
- exit 1
- fi
+ export SYMFONY_DEPRECATIONS_HELPER=max[total]=999
+ X=0
+ for component in $(find src/Symfony -mindepth 2 -type f -name phpunit.xml.dist -printf '%h\n'); do
+ php ./phpunit $component --exclude-group tty,benchmark,intl-data,transient;
+ if [ $? -gt 128 ]; then
+ X=1;
+ fi
+ done
+ exit $X
displayName: 'Test Symfony'
condition: or(succeeded(), failed())
- script: |
diff --git a/azure/configure.yml b/azure/configure.yml
index 1d3374bfa0..e9e49bf98a 100644
--- a/azure/configure.yml
+++ b/azure/configure.yml
@@ -29,7 +29,6 @@ steps:
--enable-xmlreader \
--with-xsl \
--with-tidy \
- --with-xmlrpc \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
@@ -56,6 +55,7 @@ steps:
--with-password-argon2 \
--with-mhash \
--with-sodium \
+ --enable-dba \
--enable-werror \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d
diff --git a/azure/file_cache_job.yml b/azure/file_cache_job.yml
new file mode 100644
index 0000000000..7c8b392a66
--- /dev/null
+++ b/azure/file_cache_job.yml
@@ -0,0 +1,54 @@
+parameters:
+ configurationName: ''
+ configurationParameters: ''
+ runTestsParameters: ''
+ timeoutInMinutes: 60
+
+jobs:
+ - job: ${{ parameters.configurationName }}
+ timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
+ pool:
+ vmImage: 'ubuntu-18.04'
+ steps:
+ - template: apt.yml
+ - template: configure.yml
+ parameters:
+ configurationParameters: ${{ parameters.configurationParameters }}
+ - script: make -j$(/usr/bin/nproc) >/dev/null
+ displayName: 'Make Build'
+ - template: install.yml
+ - template: setup.yml
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsName: 'File Cache (prime)'
+ runTestsParameters: >-
+ ${{ parameters.runTestsParameters }}
+ -d zend_extension=opcache.so
+ --file-cache-prime
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsName: 'File Cache (use)'
+ runTestsParameters: >-
+ ${{ parameters.runTestsParameters }}
+ -d zend_extension=opcache.so
+ --file-cache-use
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsName: 'File Cache Only (prime)'
+ runTestsParameters: >-
+ ${{ parameters.runTestsParameters }}
+ -d zend_extension=opcache.so
+ --file-cache-prime
+ -d opcache.file_cache_only=1
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsName: 'File Cache Only (use)'
+ runTestsParameters: >-
+ ${{ parameters.runTestsParameters }}
+ -d zend_extension=opcache.so
+ --file-cache-use
+ -d opcache.file_cache_only=1
diff --git a/azure/i386/job.yml b/azure/i386/job.yml
index 83e8705f0f..aa70b39f9b 100644
--- a/azure/i386/job.yml
+++ b/azure/i386/job.yml
@@ -1,17 +1,19 @@
parameters:
configurationName: ''
configurationParameters: ''
+ timeoutInMinutes: 75
jobs:
- job: ${{ parameters.configurationName }}
+ timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
pool:
- vmImage: 'ubuntu-18.04'
+ vmImage: 'ubuntu-20.04'
steps:
- template: apt.yml
- script: |
./buildconf --force
- export CFLAGS=-m32
- export CXXFLAGS=-m32
+ export CFLAGS="-m32 -msse2"
+ export CXXFLAGS="-m32 -msse2"
export LDFLAGS=-L/usr/lib/i386-linux-gnu
export PKG_CONFIG=/usr/bin/i686-linux-gnu-pkg-config
./configure ${{ parameters.configurationParameters }} \
@@ -39,7 +41,6 @@ jobs:
--enable-xmlreader \
--with-xsl \
--with-tidy \
- --with-xmlrpc \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
@@ -63,6 +64,7 @@ jobs:
--enable-zend-test \
--with-mhash \
--with-sodium \
+ --enable-dba \
--enable-werror \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d
@@ -86,11 +88,7 @@ jobs:
#sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"
#sudo -u postgres psql -c "CREATE DATABASE test;"
displayName: 'Setup'
- - template: test.yml
+ - template: ../tests.yml
parameters:
configurationName: ${{ parameters.configurationName }}
- - template: test.yml
- parameters:
- configurationName: ${{ parameters.configurationName }}
- runTestsName: 'OpCache'
- runTestsParameters: -d zend_extension=opcache.so
+ runTestsParameters: ${{ parameters.runTestsParameters }}
diff --git a/azure/i386/test.yml b/azure/i386/test.yml
deleted file mode 100644
index 1e2e1d6a1e..0000000000
--- a/azure/i386/test.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-parameters:
- runTestsName: ''
- runTestsParameters: ''
-
-steps:
- - script: |
- export MYSQL_TEST_USER=root
- export MYSQL_TEST_PASSWD=root
- export PDO_MYSQL_TEST_DSN="mysql:host=localhost;dbname=test"
- export PDO_MYSQL_TEST_USER=root
- export PDO_MYSQL_TEST_PASS=root
- export TEST_PHP_JUNIT=junit.xml
- export REPORT_EXIT_STATUS=no
- export SKIP_IO_CAPTURE_TESTS=1
- rm -rf junit.xml | true
- php run-tests.php -P -q \
- -j$(/usr/bin/nproc) \
- -g FAIL,XFAIL,BORK,WARN,LEAK,XLEAK,SKIP \
- --offline \
- --show-diff \
- --show-slow 1000 \
- --set-timeout 120 \
- ${{ parameters.runTestsParameters }}
- displayName: 'Test ${{ parameters.configurationName }} ${{ parameters.runTestsName }}'
- condition: or(succeeded(), failed())
- - task: PublishTestResults@2
- inputs:
- testResultsFormat: 'JUnit'
- testResultsFiles: junit.xml
- testRunTitle: '${{ parameters.configurationName }} ${{ parameters.runTestsName }}'
- failTaskOnFailedTests: true
- displayName: 'Export ${{ parameters.configurationName }} ${{ parameters.runTestsName }} Results'
- condition: or(succeeded(), failed())
diff --git a/azure/job.yml b/azure/job.yml
index 2893653b18..f85744eede 100644
--- a/azure/job.yml
+++ b/azure/job.yml
@@ -2,13 +2,13 @@ parameters:
configurationName: ''
configurationParameters: ''
runTestsParameters: ''
- timeoutInMinutes: 60
+ timeoutInMinutes: 75
jobs:
- job: ${{ parameters.configurationName }}
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
pool:
- vmImage: 'ubuntu-18.04'
+ vmImage: 'ubuntu-20.04'
steps:
- template: apt.yml
- template: configure.yml
@@ -18,14 +18,7 @@ jobs:
displayName: 'Make Build'
- template: install.yml
- template: setup.yml
- - template: test.yml
+ - template: tests.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
diff --git a/azure/macos/job.yml b/azure/macos/job.yml
index 4b979d41a8..07dd6d4803 100644
--- a/azure/macos/job.yml
+++ b/azure/macos/job.yml
@@ -5,7 +5,7 @@ parameters:
jobs:
- job: ${{ parameters.configurationName }}
pool:
- vmImage: 'macOS-10.14'
+ vmImage: 'macOS-10.15'
steps:
- template: brew.yml
- script: |
@@ -40,7 +40,6 @@ jobs:
--enable-xmlreader \
--with-xsl \
--with-tidy=/usr/local/opt/tidyp \
- --with-xmlrpc \
--with-libxml \
--enable-sysvsem \
--enable-sysvshm \
@@ -66,6 +65,7 @@ jobs:
--enable-intl \
--with-mhash \
--with-sodium \
+ --enable-dba \
--enable-werror \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d
@@ -85,3 +85,14 @@ jobs:
configurationName: ${{ parameters.configurationName }}
runTestsName: 'OpCache'
runTestsParameters: -d zend_extension=opcache.so -d opcache.enable_cli=1 -d opcache.protect_memory=1
+ - ${{ if eq(variables['Build.Reason'], 'Schedule') }}:
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsName: 'Function JIT'
+ runTestsParameters: -d zend_extension=opcache.so -d opcache.enable_cli=1 -d opcache.protect_memory=1 -d opcache.jit_buffer_size=16M -d opcache.jit=1205
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsName: 'Tracing JIT'
+ runTestsParameters: -d zend_extension=opcache.so -d opcache.enable_cli=1 -d opcache.protect_memory=1 -d opcache.jit_buffer_size=16M
diff --git a/azure/msan_job.yml b/azure/msan_job.yml
index 3c6cb4ca09..0c7475be5b 100644
--- a/azure/msan_job.yml
+++ b/azure/msan_job.yml
@@ -14,8 +14,7 @@ jobs:
- script: |
export CC=clang
export CXX=clang++
- export CFLAGS="-fsanitize=memory -DZEND_TRACK_ARENA_ALLOC"
- export LDFLAGS="-fsanitize=memory"
+ export CFLAGS="-DZEND_TRACK_ARENA_ALLOC"
./buildconf --force
# msan requires all used libraries to be instrumented,
# so we should avoiding linking against anything but libc here
@@ -31,6 +30,7 @@ jobs:
--disable-xmlreader \
--disable-xmlwriter \
--without-pcre-jit \
+ --disable-opcache-jit \
--enable-phpdbg \
--enable-fpm \
--with-pdo-mysql=mysqlnd \
@@ -50,6 +50,7 @@ jobs:
--enable-ftp \
--enable-zend-test \
--enable-werror \
+ --enable-memory-sanitizer \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d
displayName: 'Configure Build'
diff --git a/azure/tests.yml b/azure/tests.yml
new file mode 100644
index 0000000000..6142623398
--- /dev/null
+++ b/azure/tests.yml
@@ -0,0 +1,34 @@
+parameters:
+ configurationName: ''
+ runTestsParameters: ''
+
+steps:
+ - 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
+ - ${{ if eq(variables['Build.Reason'], 'Schedule') }}:
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsName: 'Function JIT'
+ runTestsParameters: >-
+ ${{ parameters.runTestsParameters }}
+ -d zend_extension=opcache.so
+ -d opcache.jit_buffer_size=16M
+ -d opcache.jit=1205
+ - template: test.yml
+ parameters:
+ configurationName: ${{ parameters.configurationName }}
+ runTestsName: 'Tracing JIT'
+ runTestsParameters: >-
+ ${{ parameters.runTestsParameters }}
+ -d zend_extension=opcache.so
+ -d opcache.jit_buffer_size=16M