Fix flaky connection count in mysqli test

Use connection ID instead of count to check whether we're using a
persistent connection. This allows the test to be run in parallel with
the other tests, but also protects against the possibility that some
other service connects to the mysql server.

Closes GH-18040
This commit is contained in:
Ilija Tovilo 2025-03-13 13:01:53 +01:00
parent 858c378930
commit 00ebd2d7f2
No known key found for this signature in database
GPG key ID: 886A57EEE4DC754B

View file

@ -5,13 +5,6 @@ mysqli
--SKIPIF-- --SKIPIF--
<?php <?php
require_once('skipifconnectfailure.inc'); require_once('skipifconnectfailure.inc');
/*
* TODO: this test is flaky with persistent connections on PPC CI runner
* [001] Expected '8711' got '8712'.
*/
if (gethostname() == "php-ci-ppc64be") {
die("SKIP test is flaky");
}
?> ?>
--FILE-- --FILE--
<?php <?php
@ -19,7 +12,7 @@ if (gethostname() == "php-ci-ppc64be") {
/* Initial persistent connection */ /* Initial persistent connection */
$mysql_1 = new mysqli('p:'.$host, $user, $passwd, $db, $port); $mysql_1 = new mysqli('p:'.$host, $user, $passwd, $db, $port);
$result = $mysql_1->query("SHOW STATUS LIKE 'Connections'"); $result = $mysql_1->query("SELECT CONNECTION_ID()");
$c1 = $result->fetch_row(); $c1 = $result->fetch_row();
$result->free(); $result->free();
$mysql_1->close(); $mysql_1->close();
@ -35,7 +28,7 @@ if (gethostname() == "php-ci-ppc64be") {
/* Re-use persistent connection */ /* Re-use persistent connection */
$mysql_3 = new mysqli('p:'.$host, $user, $passwd, $db, $port); $mysql_3 = new mysqli('p:'.$host, $user, $passwd, $db, $port);
$error = mysqli_connect_errno(); $error = mysqli_connect_errno();
$result = $mysql_3->query("SHOW STATUS LIKE 'Connections'"); $result = $mysql_3->query("SELECT CONNECTION_ID()");
$c3 = $result->fetch_row(); $c3 = $result->fetch_row();
$result->free(); $result->free();
$mysql_3->close(); $mysql_3->close();