summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlf Wendel <uw@php.net>2009-07-01 12:51:40 +0000
committerUlf Wendel <uw@php.net>2009-07-01 12:51:40 +0000
commit71ca6b83ce4ac9656bda60df4d5ab12a3f7d7eda (patch)
tree78e026443c37cc06afbd9f1cdd2526ce880b1896
parentf06342f3b527bd13e9bc603e668d08661798cc68 (diff)
downloadphp-git-71ca6b83ce4ac9656bda60df4d5ab12a3f7d7eda.tar.gz
Adding XFAIL for some tests which expect the zval cache of mysqlnd to be on. It has been disabled for the PHP 5.3.0 release. Adding INI sections to ensure that statistics are collected. Adding tests that check if statistics collection can be disabled
-rw-r--r--ext/mysqli/tests/mysqli_get_cache_stats.phpt9
-rw-r--r--ext/mysqli/tests/mysqli_get_cache_stats_free_buffered.phpt5
-rw-r--r--ext/mysqli/tests/mysqli_get_cache_stats_off.phpt55
-rw-r--r--ext/mysqli/tests/mysqli_get_client_stats_off.phpt12
-rw-r--r--ext/mysqli/tests/mysqli_get_client_stats_skipped.phpt3
-rw-r--r--ext/mysqli/tests/mysqli_get_connection_stats.phpt5
-rw-r--r--ext/mysqli/tests/mysqli_get_connection_stats_off.phpt53
7 files changed, 136 insertions, 6 deletions
diff --git a/ext/mysqli/tests/mysqli_get_cache_stats.phpt b/ext/mysqli/tests/mysqli_get_cache_stats.phpt
index c9dcc09598..745787f7ff 100644
--- a/ext/mysqli/tests/mysqli_get_cache_stats.phpt
+++ b/ext/mysqli/tests/mysqli_get_cache_stats.phpt
@@ -1,5 +1,10 @@
--TEST--
mysqli_get_cache_stats()
+--XFAIL--
+zval caching has been temporarily disabled for the 5.3.0 release
+--INI--
+mysqlnd.collect_statistics="1"
+mysqlnd.collect_memory_statistics="1"
--SKIPIF--
<?PHP
require_once('skipif.inc');
@@ -22,9 +27,9 @@ if (!function_exists('mysqli_get_cache_stats')) {
var_dump($info);
- if ($info['size'] !== $info['free_items'])
+ if ($info["size"] !== $info['free_items'])
printf("[003] Unused cache should have size (%d) == free_items (%d)\n",
- $info['size'], $info['free_items']);
+ $info["size"], $info['free_items']);
require_once('table.inc');
diff --git a/ext/mysqli/tests/mysqli_get_cache_stats_free_buffered.phpt b/ext/mysqli/tests/mysqli_get_cache_stats_free_buffered.phpt
index 969a21be92..50369a3723 100644
--- a/ext/mysqli/tests/mysqli_get_cache_stats_free_buffered.phpt
+++ b/ext/mysqli/tests/mysqli_get_cache_stats_free_buffered.phpt
@@ -1,5 +1,10 @@
--TEST--
mysqli_get_cache_stats() - freeing for buffered result sets
+--XFAIL--
+zval caching has been temporarily disabled for the 5.3.0 release
+--INI--
+mysqlnd.collect_statistics="1"
+mysqlnd.collect_memory_statistics="1"
--SKIPIF--
<?PHP
require_once('skipif.inc');
diff --git a/ext/mysqli/tests/mysqli_get_cache_stats_off.phpt b/ext/mysqli/tests/mysqli_get_cache_stats_off.phpt
new file mode 100644
index 0000000000..0ec64f777b
--- /dev/null
+++ b/ext/mysqli/tests/mysqli_get_cache_stats_off.phpt
@@ -0,0 +1,55 @@
+--TEST--
+mysqli_get_cache_stats() - disabled via php.ini
+--INI--
+mysqlnd.collect_statistics="0"
+mysqlnd.collect_memory_statistics="0"
+--SKIPIF--
+<?PHP
+require_once('skipif.inc');
+require_once('skipifemb.inc');
+require_once('skipifconnectfailure.inc');
+if (!function_exists('mysqli_get_cache_stats')) {
+ die("skip only available with mysqlnd");
+}
+?>
+--FILE--
+<?php
+ $before = mysqli_get_cache_stats();
+ if (!is_array($before) || empty($before)) {
+ printf("[001] Expecting non-empty array, got %s.\n", gettype($before));
+ var_dump($before);
+ }
+
+ require_once('table.inc');
+ if (!$res = mysqli_query($link, "SELECT id, label FROM test")) {
+ printf("[002] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ }
+ while ($row = mysqli_fetch_assoc($res))
+ ;
+ if (!$res = mysqli_query($link, "SELECT id, label FROM test")) {
+ printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
+ }
+ while ($row = mysqli_fetch_assoc($res))
+ ;
+
+ $after = mysqli_get_cache_stats();
+ if ($before !== $after) {
+ printf("[004] Statistics have changed\n");
+ var_dump($before);
+ var_dump($after);
+ }
+
+ $ignore = array("size" => true, "free_items" => true, "references" => true);
+ foreach ($after as $k => $v) {
+ if ($v != 0 && !isset($ignore[$k])) {
+ printf("[005] Field %s should not have any other value but 0, got %s.\n",
+ $k, $v);
+ }
+ }
+
+ mysqli_close($link);
+
+ print "done!";
+?>
+--EXPECTF--
+done! \ No newline at end of file
diff --git a/ext/mysqli/tests/mysqli_get_client_stats_off.phpt b/ext/mysqli/tests/mysqli_get_client_stats_off.phpt
index 8a731ca746..9594eb526f 100644
--- a/ext/mysqli/tests/mysqli_get_client_stats_off.phpt
+++ b/ext/mysqli/tests/mysqli_get_client_stats_off.phpt
@@ -15,19 +15,25 @@ mysqlnd.collect_memory_statistics=0
--FILE--
<?php
$before = mysqli_get_client_stats();
+ if (!is_array($before) || empty($before)) {
+ printf("[001] Expecting non-empty array, got %s.\n", gettype($before));
+ var_dump($before);
+ }
+
// connect and table inc connect to mysql and create tables
require_once('connect.inc');
require_once('table.inc');
$after = mysqli_get_client_stats();
- if (!is_array($before) || empty($before)) {
- printf("[001] Expecting non-empty array, got %s.\n", gettype($before));
+ if ($before !== $after) {
+ printf("[002] Statistics have changed\n");
var_dump($before);
+ var_dump($after);
}
foreach ($after as $k => $v)
if ($v != 0) {
- printf("[002] Field %s should not have any other value but 0, got %s.\n",
+ printf("[003] Field %s should not have any other value but 0, got %s.\n",
$k, $v);
}
diff --git a/ext/mysqli/tests/mysqli_get_client_stats_skipped.phpt b/ext/mysqli/tests/mysqli_get_client_stats_skipped.phpt
index 9dd802db0d..0358656ab5 100644
--- a/ext/mysqli/tests/mysqli_get_client_stats_skipped.phpt
+++ b/ext/mysqli/tests/mysqli_get_client_stats_skipped.phpt
@@ -1,5 +1,8 @@
--TEST--
mysqli_get_client_stats() - skipped rows
+--INI--
+mysqlnd.collect_statistics="1"
+mysqlnd.collect_memory_statistics="1"
--SKIPIF--
<?PHP
require_once('skipif.inc');
diff --git a/ext/mysqli/tests/mysqli_get_connection_stats.phpt b/ext/mysqli/tests/mysqli_get_connection_stats.phpt
index ba71cd649a..ede0b3b41d 100644
--- a/ext/mysqli/tests/mysqli_get_connection_stats.phpt
+++ b/ext/mysqli/tests/mysqli_get_connection_stats.phpt
@@ -1,5 +1,8 @@
--TEST--
mysqli_get_connection_stats()
+--INI--
+mysqlnd.collect_statistics="1"
+mysqlnd.collect_memory_statistics="1"
--SKIPIF--
<?PHP
require_once('skipif.inc');
@@ -39,7 +42,7 @@ if (!function_exists('mysqli_get_connection_stats')) {
}
if ($info !== $info2) {
- printf("[005] The hashes should be identical\n");
+ printf("[005] The hashes should be identical except of the memory related fields\n");
var_dump($info);
var_dump($info2);
}
diff --git a/ext/mysqli/tests/mysqli_get_connection_stats_off.phpt b/ext/mysqli/tests/mysqli_get_connection_stats_off.phpt
new file mode 100644
index 0000000000..4c5a7b71d6
--- /dev/null
+++ b/ext/mysqli/tests/mysqli_get_connection_stats_off.phpt
@@ -0,0 +1,53 @@
+--TEST--
+mysqli_get_connection_stats() - disable via php.ini
+--INI--
+mysqlnd.collect_statistics="0"
+mysqlnd.collect_memory_statistics="0"
+--SKIPIF--
+<?PHP
+require_once('skipif.inc');
+require_once('skipifemb.inc');
+require_once('skipifconnectfailure.inc');
+if (!function_exists('mysqli_get_connection_stats')) {
+ die("skip only available with mysqlnd");
+}
+?>
+--FILE--
+<?php
+ // connect and table inc connect to mysql and create tables
+ require_once('connect.inc');
+
+ if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
+ printf("[001] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
+ $host, $user, $db, $port, $socket);
+ }
+ $before = mysqli_get_connection_stats($link);
+ if (!is_array($before) || empty($before)) {
+ printf("[002] Expecting non-empty array, got %s.\n", gettype($before));
+ var_dump($before);
+ }
+
+ mysqli_close($link);
+ if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
+ printf("[003] Cannot connect to the server using host=%s, user=%s, passwd=***, dbname=%s, port=%s, socket=%s\n",
+ $host, $user, $db, $port, $socket);
+ }
+ $after = mysqli_get_connection_stats($link);
+
+ if ($before !== $after) {
+ printf("[004] Statistics differ!");
+ var_dump($before);
+ var_dump($after);
+ }
+
+ foreach ($after as $k => $v)
+ if ($v != 0) {
+ printf("[004] Field %s should not have any other value but 0, got %s.\n",
+ $k, $v);
+ }
+
+ mysqli_close($link);
+ print "done!";
+?>
+--EXPECTF--
+done! \ No newline at end of file