Skip to content

Add more test coverage for ext/odbc #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 196 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
196 commits
Select commit Hold shift + click to select a range
32c7c43
Fix wrong backporting of previous soap patch
adoy Jun 6, 2023
be71cad
[ci skip] add CVE in NEWS
remicollet Jun 22, 2023
bf4e7bd
Fix GH-11791: Wrong default value of DOMDocument::xmlStandalone
nielsdos Jul 25, 2023
86580c6
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Jul 26, 2023
8ac0dcc
Merge branch 'PHP-8.2'
nielsdos Jul 26, 2023
4bee574
Fix GH-11792: LIBXML_NOXMLDECL is not implemented or broken
nielsdos Jul 25, 2023
bed0e54
Fix DOM test
nielsdos Jul 26, 2023
9a358b2
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Jul 26, 2023
3b68e84
Merge branch 'PHP-8.2'
nielsdos Jul 26, 2023
4077dad
[skip ci] Hide generated files from diff via .gitattributes (#11802)
iluuu1994 Jul 26, 2023
6b6a5cd
Replace xfail with skipif in calendar_clear_variation1.phpt
iluuu1994 Jul 26, 2023
5d90c50
Merge branch 'PHP-8.1' into PHP-8.2
iluuu1994 Jul 27, 2023
585bdf2
Merge branch 'PHP-8.2'
iluuu1994 Jul 27, 2023
566cf37
Use new class synopsis generating markup (#11809)
kocsismate Jul 28, 2023
0893b4b
add ZipArchive::LENGTH_TO_END and ZipArchive::LENGTH_UNCHECKED constants
remicollet Jul 28, 2023
ae3646d
use typed constants in 8.3
remicollet Jul 28, 2023
092726f
Fix GH-11785: '++nothing+crc' is not a recognized feature for M1 / M2…
youkidearitai Jul 29, 2023
17a80eb
ext/mysqli: Remove custom sys_get_temp_dir() function
Girgias Jul 28, 2023
0c21715
ext/mysqli: Remove conditional function declaration
Girgias Jul 28, 2023
8582d97
ext/mysqli: Stop using global variable in connection test helper
Girgias Jul 28, 2023
b389846
ext/mysqli: Remove catchable fatal error handler
Girgias Jul 28, 2023
ae66a0d
Corrections to return type of loading DOM documents
nielsdos Jul 26, 2023
655f116
XLEAK XML_SAVE_NO_DECL test for old libxml2 versions
nielsdos Jul 29, 2023
7364b7b
Fix uaf of MBSTRG(all_encodings_list)
iluuu1994 Jul 29, 2023
b5f8a72
Fixed incorrect QM_ASSIGN elimination
dstogov Jul 31, 2023
91dc3e1
Merge branch 'PHP-8.1' into PHP-8.2
dstogov Jul 31, 2023
79a8cf1
Merge branch 'PHP-8.2'
dstogov Jul 31, 2023
2053af6
Fix uouv in array_column
iluuu1994 Jul 19, 2023
a145b40
Fix uouv in password_needs_rehash() and password_hash()
iluuu1994 Jul 20, 2023
322da7b
Fix various uouv in intl
iluuu1994 Jul 31, 2023
82aa425
Fix some uouv in ext/pgsql
iluuu1994 Jul 31, 2023
605c60c
Skip oci8 tests when no database is available (#11820)
orlitzky Jul 31, 2023
37d35f5
Move --enable/--disable-fiber-asm help output (#11827)
petk Jul 31, 2023
c7cbe37
[ci skip] PHP 8.3 Upgrading: add missing POSIX constants
jrfnl Jul 31, 2023
a8fa0b5
[ci skip] PHP 8.3 Upgrading: fix pg_set_error_context_visibility typo
jrfnl Jul 31, 2023
78bfe68
[ci skip] PHP 8.3 Upgrading:
jrfnl Jul 31, 2023
68e6de5
GH Actions: auto-skip CI on PRs containing only docs changes (#11839)
jrfnl Jul 31, 2023
3e9792f
Check if restart is pending before trying to lock SHM
Jul 27, 2023
f232830
Merge branch 'PHP-8.1' into PHP-8.2
iluuu1994 Jul 31, 2023
e8edd35
Merge branch 'PHP-8.2'
iluuu1994 Jul 31, 2023
8031612
Fix buffer mismanagement in phar_dir_read()
nielsdos Jul 10, 2023
c283c3a
Sanitize libxml2 globals before parsing
nielsdos Jul 15, 2023
0870ebb
Merge branch 'PHP-8.0' into PHP-8.1
derickr Jul 31, 2023
deddf46
Merge branch 'PHP-8.1' into PHP-8.2
derickr Jul 31, 2023
86afbe1
Merge branch 'PHP-8.2'
derickr Jul 31, 2023
93b43ac
Fix broken merge
derickr Jul 31, 2023
47a347e
Merge branch 'PHP-8.1' into PHP-8.2
derickr Jul 31, 2023
797bd9f
Merge branch 'PHP-8.2'
derickr Jul 31, 2023
dcc4295
Fixed artifacts from merging
derickr Jul 31, 2023
01746d0
Merge branch 'PHP-8.2'
derickr Jul 31, 2023
855dd27
Fixed another broken merge (sorry)
derickr Jul 31, 2023
193f879
Merge branch 'PHP-8.2'
derickr Jul 31, 2023
a53e561
Remove unnecessary parentheses around language constructs in oci8
kamil-tekiela Jul 31, 2023
c1a0852
Convert CRLF to LF
kamil-tekiela Jul 31, 2023
a21edc5
Remove unnecessary parentheses around language constructs in mysqli
kamil-tekiela Jul 31, 2023
73d6869
Remove unnecessary parentheses around language constructs in mysqli
kamil-tekiela Jul 31, 2023
548fc6a
As of 8.2 this SKIP is no longer possible
kamil-tekiela Jul 31, 2023
62228a2
Disable global state test on Windows
nielsdos Jul 31, 2023
d8f2584
NEWS
nielsdos Jul 31, 2023
ebbccb3
Merge branch 'PHP-8.0' into PHP-8.1
ramsey Aug 1, 2023
7ecb284
Merge branch 'PHP-8.1' into PHP-8.2
ramsey Aug 1, 2023
3d5f239
Merge branch 'PHP-8.2'
ramsey Aug 1, 2023
e61dbe5
Fix zend/test arginfo stub hash
iluuu1994 Aug 1, 2023
e14421c
Merge branch 'PHP-8.1' into PHP-8.2
iluuu1994 Aug 1, 2023
dc368d3
Merge branch 'PHP-8.2'
iluuu1994 Aug 1, 2023
98768cf
Update NEWS for PHP 8.3.0beta2
bukka Aug 1, 2023
4553258
Fixed incorrect tracked malloc deallocation
dstogov Aug 1, 2023
5abf4f2
Merge branch 'PHP-8.1' into PHP-8.2
dstogov Aug 1, 2023
a95316f
Merge branch 'PHP-8.2'
dstogov Aug 1, 2023
e0bee2c
[ci skip] PHP 8.3 Upgrading: move two entries to the right section (#…
jrfnl Aug 1, 2023
04c820f
[ci skip] PHP 8.3 Upgrading: fix assert_options() typo + minor gramma…
jrfnl Aug 1, 2023
6e468bb
Fix json_encode result on DOMDocument
nielsdos Jul 31, 2023
82eda28
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Aug 1, 2023
8874384
Merge branch 'PHP-8.2'
nielsdos Aug 1, 2023
6ae9cf4
Fix OSS-fuzz #60709 unseting op via globals
Girgias Jul 21, 2023
2fbec09
Fix OSS Fuzz #60734: use-after-free visible in ASAN build
Girgias Jul 24, 2023
af4eabd
Remove unnecessary requires in mysqli tests
kamil-tekiela Aug 1, 2023
1451b9e
Improve test for mysqli_result constructor
kamil-tekiela Aug 1, 2023
aab36a7
Tidy up new my_mysqli in tests
kamil-tekiela Aug 1, 2023
0c288c4
Revert changes to mysqli_get_connection_stats.phpt
kamil-tekiela Aug 1, 2023
ab46d20
Remove unused CLEAN section
kamil-tekiela Aug 1, 2023
66b359e
Add DROP TABLE to clean up after the test
kamil-tekiela Aug 1, 2023
4140394
ext/dba/tests/dba_tcadb.phpt: support pthreadless tokyocabinet (#11648)
orlitzky Aug 2, 2023
b2dbf0a
Remove opcache.consistency_checks
iluuu1994 Jul 31, 2023
3586264
Unpoison opcache mem buf for file cache checksum calc
iluuu1994 Aug 2, 2023
fc3df28
Zend: Fix memory leak in ++/-- when overloading fetch access
Girgias Aug 2, 2023
65a02f4
ext/zend_test: Move object handler test objects to their own file (#1…
Girgias Aug 2, 2023
fa397e0
Respect strict error setting for adoptNode
nielsdos Aug 2, 2023
04df776
Deduplicate loading code
nielsdos Aug 2, 2023
94127c5
Fix GH-11440: authentication to a sha256_password account fails over SSL
nielsdos Jun 12, 2023
139a692
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Aug 2, 2023
6fc8ab2
Merge branch 'PHP-8.2'
nielsdos Aug 2, 2023
6f6fedc
Handle strict error properly in adoptNode failure, and add a test
nielsdos Aug 2, 2023
ed27d70
Fix use-of-uninitialized-value in start_fake_frame
iluuu1994 Jul 17, 2023
4db025b
Merge branch 'PHP-8.1' into PHP-8.2
iluuu1994 Aug 3, 2023
ae431bb
Merge branch 'PHP-8.2'
iluuu1994 Aug 3, 2023
958a25e
Add "revalidate" time to opcache scripts list
Jul 28, 2023
3148da8
Add block size support for tracked_malloc (#11856)
iluuu1994 Aug 3, 2023
b80bebc
Synchronize zend_jit_stop_counter_handlers()
iluuu1994 Jul 27, 2023
851890b
Import timelib 2022.09
derickr Aug 3, 2023
a8f4171
Fixed bug GH-11854 (DateTime:createFromFormat stopped parsing datetim…
derickr Aug 3, 2023
8af6d3a
Merge branch 'issue11854-datetime-regression' into PHP-8.2
derickr Aug 3, 2023
a33dfd2
Merge branch 'PHP-8.2'
derickr Aug 3, 2023
120ae17
Add typed specialization for ZEND_COUNT (#11825)
iluuu1994 Aug 3, 2023
dddcf92
[ci skip] Update NEWS
saundefined Aug 3, 2023
1246da3
Merge branch 'PHP-8.2'
saundefined Aug 3, 2023
73c5f36
Assert ptr_ptr value of TMP|CONST isn't used (#11865)
iluuu1994 Aug 3, 2023
269a9e1
PHP-8.0 is now for 8.0.31-dev
ramsey Aug 3, 2023
4e65241
Merge branch 'PHP-8.0' into PHP-8.1
ramsey Aug 3, 2023
07d719d
Merge branch 'PHP-8.1' into PHP-8.2
ramsey Aug 3, 2023
47e490a
Merge branch 'PHP-8.2'
ramsey Aug 3, 2023
509906b
Fix GH-11438: mysqlnd fails to authenticate with sha256_password acco…
nielsdos Jun 12, 2023
997a367
Fix GH-10964: Improve `man` page about the built-in server
alexandre-daubois Aug 2, 2023
75441d7
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Aug 3, 2023
50bb380
Merge branch 'PHP-8.2'
nielsdos Aug 3, 2023
162bd2a
Fix missing link variable in test
nielsdos Aug 3, 2023
77417f8
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Aug 3, 2023
babe247
Merge branch 'PHP-8.2'
nielsdos Aug 3, 2023
f7be15d
Revert the fix for GH-11498
nielsdos Aug 2, 2023
c59bfc8
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Aug 3, 2023
633e745
Merge branch 'PHP-8.2'
nielsdos Aug 3, 2023
e5b2590
Improve database naming in `ext/pdo_pgsql` for better para-tests (#11…
alexandre-daubois Aug 4, 2023
8ef0e4c
Allow easter_date to process years after 2037 on 64bit systems (#11862)
Arne1303 Aug 4, 2023
aecedd2
[skip ci] Reorder extension sections in UPGRADING
Girgias Aug 4, 2023
dc586b1
Mark buildFromIterator test as conflicting
nielsdos Aug 3, 2023
00ab6bb
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Aug 4, 2023
1b092c6
Merge branch 'PHP-8.2'
nielsdos Aug 4, 2023
ca5d482
Fix MySQL Statement has a empty query result when the response field …
Yurunsoft Jun 28, 2023
4db701c
Merge branch 'PHP-8.1' into PHP-8.2
kamil-tekiela Aug 4, 2023
0311e60
Add php_version and php_version_id PHPAPI funcs (#11875)
morrisonlevi Aug 4, 2023
8293474
Merge branch 'PHP-8.2'
kamil-tekiela Aug 4, 2023
4f84b15
ext/pdo_pgsql: Improve tests cleanup (#11855)
alexandre-daubois Aug 5, 2023
3ff7d18
[ci skip] NEWS for fa397e02 and 6f6fedcb
nielsdos Aug 5, 2023
872bf56
Remove useless check
nielsdos Aug 6, 2023
5cd0208
Don't test macOS & i386 without opcache on push
iluuu1994 Aug 3, 2023
16c6d60
Merge branch 'PHP-8.1' into PHP-8.2
iluuu1994 Aug 7, 2023
7397607
Merge branch 'PHP-8.2'
iluuu1994 Aug 7, 2023
efc73f2
Revert "Call cast_object handler from get_properties_for"
iluuu1994 Aug 7, 2023
e701b2f
Make DOMChildNode::remove() run in O(1) performance
nielsdos Aug 5, 2023
08c4db7
Fix manually calling __construct() on DOM classes
nielsdos Aug 6, 2023
dddd309
Fix GH-11830: ParentNode methods should perform their checks upfront
nielsdos Aug 5, 2023
b80ded8
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Aug 7, 2023
3ad5029
Merge branch 'PHP-8.2'
nielsdos Aug 7, 2023
5018dfe
Remove useless hashmap check
nielsdos Aug 6, 2023
96885bc
fix: handle the GNU specific version of strerror_r
dunglas Aug 5, 2023
e9e5b4c
Merge branch 'PHP-8.1' into PHP-8.2
devnexen Aug 7, 2023
3e315df
Merge branch 'PHP-8.2'
devnexen Aug 7, 2023
815b5ad
Fix viable next sibling search for replaceWith
nielsdos Aug 5, 2023
87148f6
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Aug 7, 2023
5d5e6b0
Merge branch 'PHP-8.2'
nielsdos Aug 7, 2023
df6e8bd
Fix viable next sibling search for replaceWith
nielsdos Aug 5, 2023
4c5bf0c
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Aug 7, 2023
505fab1
Merge branch 'PHP-8.2'
nielsdos Aug 7, 2023
ba35ff0
Remove unused HAVE_GCC_GLOBAL_REGS shell variable (#11877)
petk Aug 7, 2023
77252af
Fix return type of odbc_data_source()
kocsismate Aug 8, 2023
43e62aa
Merge branch 'PHP-8.1' into PHP-8.2
kocsismate Aug 8, 2023
b275e13
Merge branch 'PHP-8.2'
kocsismate Aug 8, 2023
cbfd737
Fix off-by-one bug when truncating tempnam prefix
athos-ribeiro Aug 4, 2023
417f3fd
Improve `ext/pdo_sqlite` tests cleanup (#11900)
alexandre-daubois Aug 8, 2023
1ff59b9
Merge branch 'PHP-8.1' into PHP-8.2
Girgias Aug 8, 2023
c9c846d
Merge branch 'PHP-8.2'
Girgias Aug 8, 2023
4cbc66d
Fix skipif condition on new test
Girgias Aug 8, 2023
52bd07c
Merge branch 'PHP-8.1' into PHP-8.2
Girgias Aug 8, 2023
ad18fbc
Merge branch 'PHP-8.2'
Girgias Aug 8, 2023
038b2ae
Make the $enable parameter of odbc_autocommit() nullable (#11909)
kocsismate Aug 8, 2023
d19e4da
Fix segfault when DOMParentNode::prepend() is called when the child d…
nielsdos Aug 7, 2023
8f1cbc8
Merge branch 'PHP-8.1' into PHP-8.2
nielsdos Aug 8, 2023
cb927e0
Merge branch 'PHP-8.2'
nielsdos Aug 8, 2023
db4dba6
Move opnum_start for goto for clarification (#11911)
iluuu1994 Aug 9, 2023
fc9266a
Move ASAN built to GitHub actions
iluuu1994 Aug 7, 2023
4833b84
Fix GH-11416: Crash with DatePeriod when uninitialised objects are pa…
derickr Aug 9, 2023
7f6e98c
Merge branch 'PHP-8.1' into PHP-8.2
derickr Aug 9, 2023
f8b42da
Merge branch 'PHP-8.2'
derickr Aug 9, 2023
b71d2e1
Fix GH-11416: Crash with DatePeriod when uninitialised objects are pa…
derickr Aug 9, 2023
e157da1
Update initialisation check for new PHP-8.3 API
derickr Aug 9, 2023
23ba4cd
Align DOMChildNode parent checks with spec
nielsdos Aug 7, 2023
620b622
Optimize checks for DOMParentNode and DOMChildNode
nielsdos Aug 8, 2023
788540e
Remove remnant of COM_FIELD_LIST
kamil-tekiela Aug 9, 2023
57417bb
Merge remote-tracking branch 'derickr/issue11416-php82-unserialize' i…
derickr Aug 10, 2023
1bddd4e
Merge branch 'PHP-8.2'
derickr Aug 10, 2023
3af76b2
Fix curl_basic_009.phpt for newer curl versions
iluuu1994 Aug 10, 2023
0e843c5
Fix EXPECT for bug52820.phpt on newer curl versions
iluuu1994 Aug 10, 2023
1aae59c
Merge branch 'PHP-8.1' into PHP-8.2
iluuu1994 Aug 10, 2023
2b2d2b0
Merge branch 'PHP-8.2'
iluuu1994 Aug 10, 2023
90f514c
Add Windows build to nightly
iluuu1994 Aug 9, 2023
b234235
Merge branch 'PHP-8.1' into PHP-8.2
iluuu1994 Aug 10, 2023
fa8b4e1
Merge branch 'PHP-8.2'
iluuu1994 Aug 10, 2023
248e6b0
Remove i386 Linux from push
iluuu1994 Aug 9, 2023
241510c
Merge branch 'PHP-8.1' into PHP-8.2
iluuu1994 Aug 10, 2023
fad4ea1
Merge branch 'PHP-8.2'
iluuu1994 Aug 10, 2023
0d922aa
Fix error checking in mysqlnd
kamil-tekiela Aug 9, 2023
7a4b213
Merge branch 'PHP-8.1' into PHP-8.2
kamil-tekiela Aug 10, 2023
4a77a1e
Merge branch 'PHP-8.2'
kamil-tekiela Aug 10, 2023
4ad61f8
Add more test coverage for ext/odbc
kocsismate Jul 26, 2023
f56ff74
Enable ext/odbc and ext/pdo_odbc tests on Linux in GitHub CI
kocsismate Aug 7, 2023
c40faa0
Fix ext/odbc tests
kocsismate Aug 8, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
180 changes: 0 additions & 180 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -1,186 +1,6 @@
env:
CIRRUS_CLONE_DEPTH: 1

asan_task:
name: ASAN_DEBUG_NTS
container:
image: gcc:latest
additional_containers:
- name: mysql
image: mysql:8
port: 3306
cpu: 1.0
memory: 1G
env:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_DATABASE: "test"
install_script:
- apt-get update -y
- >-
apt-get install -y
bison
re2c
locales
locales-all
`#ldap-utils`
openssl
`slapd`
libgmp-dev
libicu-dev
`#libtidy-dev`
`#libenchant-dev`
libaspell-dev
libpspell-dev
libsasl2-dev
libxpm-dev
libzip-dev
`#libsqlite3-dev`
libwebp-dev
libonig-dev
libkrb5-dev
libgssapi-krb5-2
libcurl4-openssl-dev
libxml2-dev
libxslt1-dev
libpq-dev
libreadline-dev
`#libldap2-dev`
libsodium-dev
libargon2-0-dev
libmm-dev
`#libsnmp-dev`
`#postgresql`
`#postgresql-contrib`
`#snmpd`
`#snmp-mibs-downloader`
`#freetds-dev`
`#unixodbc-dev`
llvm
clang
libc-client-dev
dovecot-core
dovecot-pop3d
dovecot-imapd
`#sendmail`
`#firebird-dev`
liblmdb-dev
libtokyocabinet-dev
libdb-dev
libqdbm-dev
libjpeg-dev
libpng-dev
libfreetype6-dev
build_script:
- ./buildconf -f
- >-
./configure
--enable-debug
--enable-zts
--enable-option-checking=fatal
--prefix=/usr
--enable-phpdbg
--enable-fpm
--enable-opcache
--disable-opcache-jit
--with-pdo-mysql=mysqlnd
--with-mysqli=mysqlnd
`#--with-pgsql`
`#--with-pdo-pgsql`
`#--with-pdo-sqlite`
--enable-intl
--without-pear
--enable-gd
--with-jpeg
--with-webp
--with-freetype
--with-xpm
--enable-exif
--with-zip
--with-zlib
--with-zlib-dir=/usr
--enable-soap
--enable-xmlreader
--with-xsl
`#--with-tidy`
--enable-sysvsem
--enable-sysvshm
--enable-shmop
--enable-pcntl
--with-readline
--enable-mbstring
--with-curl
--with-gettext
--enable-sockets
--with-bz2
--with-openssl
--with-gmp
--enable-bcmath
--enable-calendar
--enable-ftp
--with-pspell=/usr
`#--with-enchant=/usr`
--with-kerberos
--enable-sysvmsg
--with-ffi
--enable-zend-test
`#--enable-dl-test=shared`
`#--with-ldap`
`#--with-ldap-sasl`
--with-password-argon2
--with-mhash
--with-sodium
--enable-dba
--with-cdb
--enable-flatfile
--enable-inifile
--with-tcadb
--with-lmdb
--with-qdbm
`#--with-snmp`
`#--with-unixODBC`
`#--with-imap`
--with-kerberos
--with-imap-ssl
`#--with-pdo-odbc=unixODBC,/usr`
`#--with-pdo-oci=shared,instantclient,/opt/oracle/instantclient`
`#--with-oci8=shared,instantclient,/opt/oracle/instantclient`
--with-config-file-path=/etc
--with-config-file-scan-dir=/etc/php.d
`#--with-pdo-firebird`
`#--with-pdo-dblib`
--enable-werror
CFLAGS='-fsanitize=undefined,address -DZEND_TRACK_ARENA_ALLOC' LDFLAGS='-fsanitize=undefined,address'
CC=clang
CXX=clang++
- make -j2
- make install
- mkdir -p /etc/php.d
- echo opcache.enable_cli=1 > /etc/php.d/opcache.ini
- echo opcache.protect_memory=1 >> /etc/php.d/opcache.ini
# Specify opcache.preload_user as we're running as root.
- echo opcache.preload_user=root >> /etc/php.d/opcache.ini
tests_script:
- export SKIP_IO_CAPTURE_TESTS=1
- export CI_NO_IPV6=1
- export MYSQL_TEST_HOST=127.0.0.1
- export MYSQL_TEST_USER=root
- export MYSQL_TEST_PASSWD=root
- export PDO_MYSQL_TEST_DSN="mysql:host=127.0.0.1;dbname=test"
- export PDO_MYSQL_TEST_USER=root
- export PDO_MYSQL_TEST_PASS=root
- >-
sapi/cli/php run-tests.php
-P -q -x -j2
-g FAIL,BORK,LEAK,XLEAK
--no-progress
--offline
--show-diff
--show-slow 1000
--set-timeout 120
-d zend_extension=opcache.so
-d opcache.enable_cli=1
--asan

freebsd_task:
name: FREEBSD_DEBUG_NTS
freebsd_instance:
Expand Down
10 changes: 5 additions & 5 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@
*.php diff=php
*.[ch] diff=cpp

# Collapse generated files within a pull request.
**/*_arginfo.h linguist-generated
/Zend/zend_vm_execute.h linguist-generated
/Zend/zend_vm_handlers.h linguist-generated
/Zend/zend_vm_opcodes.[ch] linguist-generated
# Collapse generated files within git and pull request diff.
**/*_arginfo.h linguist-generated -diff
/Zend/zend_vm_execute.h linguist-generated -diff
/Zend/zend_vm_handlers.h linguist-generated -diff
/Zend/zend_vm_opcodes.[ch] linguist-generated -diff

# The OSS fuzz files are bunary
/ext/date/tests/ossfuzz*.txt binary
1 change: 1 addition & 0 deletions .github/actions/apt-x64/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ runs:
freetds-dev \
unixodbc-dev \
llvm \
clang \
libc-client-dev \
dovecot-core \
dovecot-pop3d \
Expand Down
37 changes: 20 additions & 17 deletions .github/actions/configure-x64/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ inputs:
configurationParameters:
default: ''
required: false
skipSlow:
default: false
required: false
runs:
using: composite
steps:
Expand All @@ -17,9 +20,9 @@ runs:
--enable-fpm \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pgsql \
--with-pdo-pgsql \
--with-pdo-sqlite \
${{ inputs.skipSlow == 'false' && '--with-pgsql' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-pdo-pgsql' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-pdo-sqlite' || '' }} \
--enable-intl \
--without-pear \
--enable-gd \
Expand All @@ -34,7 +37,7 @@ runs:
--enable-soap \
--enable-xmlreader \
--with-xsl \
--with-tidy \
${{ inputs.skipSlow == 'false' && '--with-tidy' || '' }} \
--enable-sysvsem \
--enable-sysvshm \
--enable-shmop \
Expand All @@ -51,14 +54,14 @@ runs:
--enable-calendar \
--enable-ftp \
--with-pspell=/usr \
--with-enchant=/usr \
${{ inputs.skipSlow == 'false' && '--with-enchant=/usr' || '' }} \
--with-kerberos \
--enable-sysvmsg \
--with-ffi \
--enable-zend-test \
--enable-dl-test=shared \
--with-ldap \
--with-ldap-sasl \
${{ inputs.skipSlow == 'false' && '--enable-dl-test=shared' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-ldap' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-ldap-sasl' || '' }} \
--with-password-argon2 \
--with-mhash \
--with-sodium \
Expand All @@ -69,16 +72,16 @@ runs:
--with-tcadb \
--with-lmdb \
--with-qdbm \
--with-snmp \
--with-unixODBC \
--with-imap \
--with-imap-ssl \
--with-pdo-odbc=unixODBC,/usr \
--with-pdo-oci=shared,instantclient,/opt/oracle/instantclient \
--with-oci8=shared,instantclient,/opt/oracle/instantclient \
${{ inputs.skipSlow == 'false' && '--with-snmp' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-unixODBC' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-imap' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-imap-ssl' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-pdo-odbc=unixODBC,/usr' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-pdo-oci=shared,instantclient,/opt/oracle/instantclient' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-oci8=shared,instantclient,/opt/oracle/instantclient' || '' }} \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--with-pdo-firebird \
--with-pdo-dblib \
${{ inputs.skipSlow == 'false' && '--with-pdo-firebird' || '' }} \
${{ inputs.skipSlow == 'false' && '--with-pdo-dblib' || '' }} \
--enable-werror \
${{ inputs.configurationParameters }}
8 changes: 6 additions & 2 deletions .github/actions/install-linux/action.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
name: Install
inputs:
withOci:
default: true
required: false
runs:
using: composite
steps:
Expand All @@ -10,5 +14,5 @@ runs:
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
echo extension=oci8.so > /etc/php.d/oci8.ini
echo extension=pdo_oci.so > /etc/php.d/pdo_oci.ini
${{ inputs.withOci == 'true' && 'echo extension=oci8.so > /etc/php.d/oci8.ini' || '' }}
${{ inputs.withOci == 'true' && 'echo extension=pdo_oci.so > /etc/php.d/pdo_oci.ini' || '' }}
18 changes: 18 additions & 0 deletions .github/actions/setup-windows/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Setup
runs:
using: composite
steps:
- name: Setup MySQL
shell: pwsh
run: |
choco install mysql -y --no-progress --params="/port:3306"
mysql.exe --port=3306 --user=root --password="" -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'Password12!'; FLUSH PRIVILEGES;"
- name: Setup MSSQL
shell: pwsh
run: |
choco install sql-server-express -y --no-progress --install-arguments="/SECURITYMODE=SQL /SAPWD=Password12!"
- name: Setup PostgreSQL
shell: pwsh
run: |
Set-Service -Name "postgresql-x64-14" -StartupType manual -Status Running
pwsh -Command { $env:PGPASSWORD="root"; & "$env:PGBIN\psql" -U postgres -c "ALTER USER postgres WITH PASSWORD 'Password12!';" }
2 changes: 2 additions & 0 deletions .github/actions/setup-x64/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ runs:
# Ensure local_infile tests can run.
mysql -uroot -proot -e "SET GLOBAL local_infile = true"
docker exec sql1 /opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U SA -P "<YourStrong@Passw0rd>" -Q "create login pdo_test with password='password', check_policy=off; create user pdo_test for login pdo_test; grant alter, control to pdo_test;"
docker exec sql1 /opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U SA -P "<YourStrong@Passw0rd>" -Q "create login odbc_test with password='password', check_policy=off; create user odbc_test for login odbc_test; grant alter, control, delete to odbc_test;"
docker exec sql1 /opt/mssql-tools/bin/sqlcmd -S 127.0.0.1 -U SA -P "<YourStrong@Passw0rd>" -Q "ALTER SERVER ROLE sysadmin ADD MEMBER odbc_test;"
sudo locale-gen de_DE

./.github/scripts/setup-slapd.sh
Expand Down
4 changes: 4 additions & 0 deletions .github/actions/test-linux/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ runs:
export PDO_OCI_TEST_DSN="oci:dbname=localhost/XEPDB1;charset=AL32UTF8"
export PGSQL_TEST_CONNSTR="host=postgres dbname=test port=5432 user=postgres password=postgres"
export PDO_PGSQL_TEST_DSN="host=postgres dbname=test port=5432 user=postgres password=postgres"
export ODBC_TEST_USER="odbc_test"
export ODBC_TEST_PASS="password"
export ODBC_TEST_DSN="Driver={ODBC Driver 17 for SQL Server};Server=127.0.0.1;Database=master;uid=$ODBC_TEST_USER;pwd=$ODBC_TEST_PASS"
export PDO_ODBC_TEST_DSN="odbc:$ODBC_TEST_DSN"
export SKIP_IO_CAPTURE_TESTS=1
export TEST_PHP_JUNIT=junit.out.xml
export STACK_LIMIT_DEFAULTS_CHECK=1
Expand Down
35 changes: 35 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -836,3 +836,38 @@ jobs:
uses: ./.github/actions/notify-slack
with:
token: ${{ secrets.ACTION_MONITORING_SLACK }}
WINDOWS:
strategy:
fail-fast: false
matrix:
include:
- x64: true
zts: true
opcache: true
- x64: false
zts: false
opcache: false
name: "WINDOWS_${{ matrix.x64 && 'X64' || 'X86' }}_${{ matrix.zts && 'ZTS' || 'NTS' }}"
runs-on: windows-2019
env:
PHP_BUILD_CACHE_BASE_DIR: C:\build-cache
PHP_BUILD_OBJ_DIR: C:\obj
PHP_BUILD_CACHE_SDK_DIR: C:\build-cache\sdk
PHP_BUILD_SDK_BRANCH: php-sdk-2.2.0
PHP_BUILD_CRT: vs16
PLATFORM: ${{ matrix.x64 && 'x64' || 'x86' }}
THREAD_SAFE: "${{ matrix.zts && '1' || '0' }}"
INTRINSICS: "${{ matrix.zts && 'AVX2' || '' }}"
PARALLEL: -j2
OPCACHE: "${{ matrix.opcache && '1' || '0' }}"
steps:
- name: git config
run: git config --global core.autocrlf false && git config --global core.eol lf
- name: git checkout
uses: actions/checkout@v3
- name: Setup
uses: ./.github/actions/setup-windows
- name: Build
run: .github/scripts/windows/build.bat
- name: Test
run: .github/scripts/windows/test.bat
Loading