summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/mysqli/tests/connect.inc21
-rw-r--r--ext/mysqli/tests/mysqli_class_mysqli_driver_reflection.phpt4
-rw-r--r--ext/mysqli/tests/mysqli_class_mysqli_reflection.phpt55
-rw-r--r--ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt4
-rw-r--r--ext/mysqli/tests/mysqli_class_mysqli_stmt_interface.phpt2
-rw-r--r--ext/mysqli/tests/mysqli_class_mysqli_warning_reflection.phpt4
-rw-r--r--ext/mysqli/tests/mysqli_debug_ini.phpt4
7 files changed, 80 insertions, 14 deletions
diff --git a/ext/mysqli/tests/connect.inc b/ext/mysqli/tests/connect.inc
index 9bb9836b72..f8cd71c2b7 100644
--- a/ext/mysqli/tests/connect.inc
+++ b/ext/mysqli/tests/connect.inc
@@ -26,9 +26,28 @@
if (!$IS_MYSQLND) {
$MYSQLND_VERSION = NULL;
} else {
+ /*
+ The formatting of the version reported by mysqli_get_client_info()
+ has changed significantly in the past. To get tests working properly
+ with PHP 5.3.0 and up, we set everything that looks like prior to
+ PHP 5.3.0 to version 5.0.4 = 5 * 10000 + 0 * 100 + 4 = 50004.
+ PHP 5.3.0 reports mysqlnd 5.0.5 dev (= 5 * 10000 + 0 * 100 + 5 = 50005.
+ */
if (preg_match('@Revision:\s+(\d+)\s*\$@ism', mysqli_get_client_info(), $matches)) {
- $MYSQLND_VERSION = (int)$matches[1];
+ /* something prior to PHP 5.3.0 */
+ $MYSQLND_VERSION = 50004;
+ } else if (preg_match('@^mysqlnd (\d+)\.(\d+)\.(\d+).*@ism', mysqli_get_client_info(), $matches)) {
+ /* formatting schema used by PHP 5.3.0 */
+ $MYSQLND_VERSION = (int)$matches[1] * 10000 + (int)$matches[2] * 100 + (int)$matches[3];
+ } else if (preg_match('@^mysqlnd/PHP 6.0.0-dev@ism', mysqli_get_client_info(), $matches)) {
+ /*
+ PHP 6.0 at the time of the first PHP 5.3.0 release.
+ HEAD and 5.3 have been in sync when 5.3.0 was released.
+ It is at least 5.0.5-dev.
+ */
+ $MYSQLND_VERSION = 50005;
} else {
+ /* unknown */
$MYSQLND_VERSION = -1;
}
}
diff --git a/ext/mysqli/tests/mysqli_class_mysqli_driver_reflection.phpt b/ext/mysqli/tests/mysqli_class_mysqli_driver_reflection.phpt
index 8a59549e50..9141469967 100644
--- a/ext/mysqli/tests/mysqli_class_mysqli_driver_reflection.phpt
+++ b/ext/mysqli/tests/mysqli_class_mysqli_driver_reflection.phpt
@@ -15,8 +15,8 @@ Those tests go into the details and are aimed to be a development tool, no more.
*/
if (!$IS_MYSQLND)
die("skip Test has been written for the latest version of mysqlnd only");
-if ($MYSQLND_VERSION < 576)
- die("skip Test requires mysqlnd Revision 576 or newer");
+if ($MYSQLND_VERSION < 50005)
+ die("skip Test requires mysqlnd Revision 5.0.4 or newer");
?>
--FILE--
<?php
diff --git a/ext/mysqli/tests/mysqli_class_mysqli_reflection.phpt b/ext/mysqli/tests/mysqli_class_mysqli_reflection.phpt
index 51dc05ed5a..802e524337 100644
--- a/ext/mysqli/tests/mysqli_class_mysqli_reflection.phpt
+++ b/ext/mysqli/tests/mysqli_class_mysqli_reflection.phpt
@@ -15,8 +15,8 @@ Those tests go into the details and are aimed to be a development tool, no more.
*/
if (!$IS_MYSQLND)
die("skip Test has been written for the latest version of mysqlnd only");
-if ($MYSQLND_VERSION < 576)
- die("skip Test requires mysqlnd Revision 576 or newer");
+if ($MYSQLND_VERSION < 50004)
+ die("skip Test requires mysqlnd Revision 5.0.4 or newer");
?>
--FILE--
@@ -423,6 +423,22 @@ Modifiers: 256
Number of Parameters: 0
Number of Required Parameters: 0
+Inspecting method 'poll'
+isFinal: no
+isAbstract: no
+isPublic: yes
+isPrivate: no
+isProtected: no
+isStatic: no
+isConstructor: no
+isDestructor: no
+isInternal: yes
+isUserDefined: no
+returnsReference: no
+Modifiers: 256
+Number of Parameters: 0
+Number of Required Parameters: 0
+
Inspecting method 'prepare'
isFinal: no
isAbstract: no
@@ -503,6 +519,38 @@ Modifiers: 256
Number of Parameters: 0
Number of Required Parameters: 0
+Inspecting method 'reap_async_query'
+isFinal: no
+isAbstract: no
+isPublic: yes
+isPrivate: no
+isProtected: no
+isStatic: no
+isConstructor: no
+isDestructor: no
+isInternal: yes
+isUserDefined: no
+returnsReference: no
+Modifiers: 256
+Number of Parameters: 0
+Number of Required Parameters: 0
+
+Inspecting method 'refresh'
+isFinal: no
+isAbstract: no
+isPublic: yes
+isPrivate: no
+isProtected: no
+isStatic: no
+isConstructor: no
+isDestructor: no
+isInternal: yes
+isUserDefined: no
+returnsReference: no
+Modifiers: 256
+Number of Parameters: 0
+Number of Required Parameters: 0
+
Inspecting method 'rollback'
isFinal: no
isAbstract: no
@@ -799,5 +847,4 @@ Default property 'server_version'
Default property 'sqlstate'
Default property 'thread_id'
Default property 'warning_count'
-done!
-
+done! \ No newline at end of file
diff --git a/ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt b/ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt
index 5f26d1eb5d..cf59732497 100644
--- a/ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt
+++ b/ext/mysqli/tests/mysqli_class_mysqli_result_reflection.phpt
@@ -17,8 +17,8 @@ Those tests go into the details and are aimed to be a development tool, no more.
*/
if (!$IS_MYSQLND)
die("skip Test has been written for the latest version of mysqlnd only");
-if ($MYSQLND_VERSION < 576)
- die("skip Test requires mysqlnd Revision 576 or newer");
+if ($MYSQLND_VERSION < 50004)
+ die("skip Test requires mysqlnd Revision 5.0.4 or newer");
?>
--FILE--
<?php
diff --git a/ext/mysqli/tests/mysqli_class_mysqli_stmt_interface.phpt b/ext/mysqli/tests/mysqli_class_mysqli_stmt_interface.phpt
index 2b6343c436..45cc38a704 100644
--- a/ext/mysqli/tests/mysqli_class_mysqli_stmt_interface.phpt
+++ b/ext/mysqli/tests/mysqli_class_mysqli_stmt_interface.phpt
@@ -187,5 +187,5 @@ stmt->unknown = '13'
Prepare using the constructor:
-Warning: mysqli_stmt::__construct() expects parameter 2 to be string, object given in %s on line %d
+Warning: mysqli_stmt::__construct() expects parameter 2 to be %binary_string_optional%, object given in %s on line %d
done! \ No newline at end of file
diff --git a/ext/mysqli/tests/mysqli_class_mysqli_warning_reflection.phpt b/ext/mysqli/tests/mysqli_class_mysqli_warning_reflection.phpt
index cb690437ae..dc0c14e6e8 100644
--- a/ext/mysqli/tests/mysqli_class_mysqli_warning_reflection.phpt
+++ b/ext/mysqli/tests/mysqli_class_mysqli_warning_reflection.phpt
@@ -16,8 +16,8 @@ Those tests go into the details and are aimed to be a development tool, no more.
*/
if (!$IS_MYSQLND)
die("skip Test has been written for the latest version of mysqlnd only");
-if ($MYSQLND_VERSION < 576)
- die("skip Test requires mysqlnd Revision 576 or newer");
+if ($MYSQLND_VERSION < 50004)
+ die("skip Test requires mysqlnd Revision 5.0.4 or newer");
?>
--FILE--
<?php
diff --git a/ext/mysqli/tests/mysqli_debug_ini.phpt b/ext/mysqli/tests/mysqli_debug_ini.phpt
index 7581385a9f..859a44c32f 100644
--- a/ext/mysqli/tests/mysqli_debug_ini.phpt
+++ b/ext/mysqli/tests/mysqli_debug_ini.phpt
@@ -15,8 +15,8 @@ if (defined('MYSQLI_DEBUG_TRACE_ENABLED') && !MYSQLI_DEBUG_TRACE_ENABLED)
die("skip: debug functionality not enabled");
require_once('connect.inc');
-if (!$IS_MYSQLND || ($MYSQLND_VERSION < 940))
- die("skip needs mysqlnd version/revision 940+");
+if (!$IS_MYSQLND || ($MYSQLND_VERSION < 50004))
+ die("skip needs mysqlnd version/revision 5.0.4");
if (!$fp = @fopen('/tmp/mysqli_debug_phpt.trace', 'w'))
die("skip PHP cannot create a file in /tmp/mysqli_debug_phpt");