$test_counter++;
if (is_array($current) && is_array($expected)) {
if ($current[$field] <= $expected[$field]) {
- printf("[%03d] %s Expecting %s = %s/%s, got %s/%s\n",
+ printf("[%03d] %s Expecting %s > %s/%s, got %s/%s\n",
$test_counter, $desc,
$field, $expected[$field], gettype($expected[$field]),
$current[$field], gettype($current[$field]));
}
} else {
if ($current <= $expected) {
- printf("[%03d] %s Expecting %s = %s/%s, got %s/%s\n",
+ printf("[%03d] %s Expecting %s > %s/%s, got %s/%s\n",
$test_counter, $desc, $field,
$expected, gettype($expected),
$current, gettype($current));
}
$test_counter = 6;
+
mysqli_get_client_stats_assert_gt('bytes_sent', $new_info, $info, $test_counter);
mysqli_get_client_stats_assert_gt('bytes_received', $new_info, $info, $test_counter);
mysqli_get_client_stats_assert_gt('packets_sent', $new_info, $info, $test_counter);
mysqli_get_client_stats_assert_eq('connect_failure', $new_info, $info, $test_counter);
mysqli_get_client_stats_assert_eq('connection_reused', $new_info, $info, $test_counter);
+ // No data fetched so far
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_normal', $new_info, "0", $test_counter);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_ps', $new_info, "0", $test_counter);
+
require('table.inc');
if (!is_array($info = mysqli_get_client_stats()) || empty($info))
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
$expected['result_set_queries'] = (string)($expected['result_set_queries'] + 1);
$expected['rows_buffered_from_client_normal'] = (string)($expected['rows_buffered_from_client_normal'] + 1);
-
if (!is_array($info = mysqli_get_client_stats()) || empty($info))
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+ mysqli_get_client_stats_assert_gt('bytes_sent', $info, $expected, $test_counter);
+ mysqli_get_client_stats_assert_gt('bytes_received', $info, $expected, $test_counter);
+
+ // real_data_* get incremeneted after mysqli_*fetch*()
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_normal', $info, "0", $test_counter);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_ps', $info, "0", $test_counter);
+
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_normal', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_normal_buffered', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('buffered_sets', $info, $expected, $test_counter);
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+ // fetch will increment
+ mysqli_get_client_stats_assert_gt('bytes_received_real_data_normal', $info, $expected, $test_counter);
+ $expected['bytes_received_real_data_normal'] = $info['bytes_received_real_data_normal'];
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_ps', $info, "0", $test_counter);
+
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_normal', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_normal_buffered', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_buffered_from_client_normal', $info, $expected, $test_counter);
printf("[%03d] SELECT id, label FROM test failed, [%d] %s\n",
++$test_counter, mysqli_errno($link), mysqli_error($link));
+
assert(mysqli_num_rows($res) == $num_rows);
if (!is_array($info = mysqli_get_client_stats()) || empty($info))
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+
$expected['rows_fetched_from_server_normal'] = (string)($expected['rows_fetched_from_server_normal'] + $num_rows);
$expected['rows_buffered_from_client_normal'] = (string)($expected['rows_buffered_from_client_normal'] + $num_rows);
$expected['buffered_sets'] = (string)($expected['buffered_sets'] + 1);
$expected['result_set_queries'] = (string)($expected['result_set_queries'] + 1);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_normal', $info, $expected, $test_counter);
+
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_normal', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_normal_buffered', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('buffered_sets', $info, $expected, $test_counter);
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_normal', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_normal', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_normal_buffered', $info, $expected, $test_counter);
printf("[%03d] SELECT id, label FROM test failed, [%d] %s\n",
++$test_counter, mysqli_errno($link), mysqli_error($link));
+ if (!is_array($info = mysqli_get_client_stats()) || empty($info))
+ printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
+ ++$test_counter, gettype($info), $info);
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_normal', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_normal_unbuffered', $info, $expected, $test_counter);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_normal', $info, $expected, $test_counter);
while ($row = mysqli_fetch_assoc($res))
;
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+ mysqli_get_client_stats_assert_gt('bytes_received_real_data_normal', $info, $expected, $test_counter);
+ $expected['bytes_received_real_data_normal'] = $info['bytes_received_real_data_normal'];
+
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_normal', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_normal_unbuffered', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('unbuffered_sets', $info, $expected, $test_counter);
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+ mysqli_get_client_stats_assert_gt('bytes_received_real_data_normal', $info, $expected, $test_counter);
+ $expected['bytes_received_real_data_normal'] = $info['bytes_received_real_data_normal'];
+
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_normal', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_normal_unbuffered', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('unbuffered_sets', $info, $expected, $test_counter);
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_normal', $info, $expected, $test_counter);
+
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_normal', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_normal_unbuffered', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_skipped_normal', $info, $expected, $test_counter);
++$test_counter, mysqli_stmt_errno($stmt), mysqli_stmt_error($stmt));
mysqli_stmt_free_result($stmt);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_ps', $info, "0", $test_counter);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_normal', $info, $expected, $test_counter);
+
$expected['rows_fetched_from_server_ps'] = (string)($expected['rows_fetched_from_server_ps'] + $num_rows);
$expected['result_set_queries'] = (string)($expected['result_set_queries'] + 1);
$expected['ps_buffered_sets'] = (string)($expected['ps_buffered_sets'] + 1);
mysqli_get_client_stats_assert_eq('ps_buffered_sets', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_buffered_from_client_ps', $info, $expected, $test_counter);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_ps', $info, "0", $test_counter);
+
print "Testing buffered Prepared Statements... - fetching all\n";
if (!mysqli_stmt_prepare($stmt, 'SELECT id, label FROM test') ||
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+
+ mysqli_get_client_stats_assert_gt('bytes_received_real_data_ps', $info, $expected, $test_counter);
+ $expected['bytes_received_real_data_ps'] = $info['bytes_received_real_data_ps'];
+
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_ps', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_ps_buffered', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('result_set_queries', $info, $expected, $test_counter);
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+ mysqli_get_client_stats_assert_gt('bytes_received_real_data_ps', $info, $expected, $test_counter);
+ $expected['bytes_received_real_data_ps'] = $info['bytes_received_real_data_ps'];
+
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_ps', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_ps_buffered', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('result_set_queries', $info, $expected, $test_counter);
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+ mysqli_get_client_stats_assert_gt('bytes_received_real_data_ps', $info, $expected, $test_counter);
+ $expected['bytes_received_real_data_ps'] = $info['bytes_received_real_data_ps'];
+
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_ps', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_ps_unbuffered', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('result_set_queries', $info, $expected, $test_counter);
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+ mysqli_get_client_stats_assert_gt('bytes_received_real_data_ps', $info, $expected, $test_counter);
+ $expected['bytes_received_real_data_ps'] = $info['bytes_received_real_data_ps'];
+
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_ps', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_client_ps_unbuffered', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('result_set_queries', $info, $expected, $test_counter);
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_ps', $info, $expected, $test_counter);
+
mysqli_get_client_stats_assert_eq('rows_skipped_ps', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('flushed_ps_sets', $info, $expected, $test_counter);
mysqli_get_client_stats_assert_eq('rows_fetched_from_server_ps', $info, $expected, $test_counter);
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($info), $info);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_normal', $info, $expected, $test_counter);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_ps', $info, $expected, $test_counter);
+
//
// result_set_queries statistics
//
mysqli_get_client_stats_assert_eq('result_set_queries', $new_info, (string)($info['result_set_queries'] + 1), $test_counter);
$info = $new_info;
+ mysqli_get_client_stats_assert_gt('bytes_received_real_data_normal', $info, $expected, $test_counter);
+ $expected['bytes_received_real_data_normal'] = $info['bytes_received_real_data_normal'];
+
//
// non_result_set_queries - DDL
//
if (!is_array($new_info = mysqli_get_client_stats()) || empty($new_info))
printf("[%03d] Expecting array/any_non_empty, got %s/%s\n",
++$test_counter, gettype($new_info), $new_info);
+
mysqli_get_client_stats_assert_eq('non_result_set_queries', $new_info, (string)($info['non_result_set_queries'] + 1), $test_counter, 'CREATE SERVER');
$info = $new_info;
$info = $new_info;
}
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_normal', $info, $expected, $test_counter);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_ps', $info, $expected, $test_counter);
+
/*
We don't test the NDB ones.
13.1. Data Definition Statements
mysqli_get_client_stats_assert_eq('non_result_set_queries', $new_info, (string)($info['non_result_set_queries'] + 1), $test_counter, 'TRUNCATE');
$info = $new_info;
+
$file = tempnam(sys_get_temp_dir(), 'mysqli_test');
if ($fp = fopen($file, 'w')) {
@fwrite($fp, '1;"a"');
unlink($file);
}
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_normal', $info, $expected, $test_counter);
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_ps', $info, $expected, $test_counter);
+
/*
We skip those:
13.2. Data Manipulation Statements
mysqli_close($link);
+ mysqli_get_client_stats_assert_gt('bytes_received_real_data_normal', $info, $expected, $test_counter);
+ $expected['bytes_received_real_data_normal'] = $info['bytes_received_real_data_normal'];
+ mysqli_get_client_stats_assert_eq('bytes_received_real_data_ps', $info, $expected, $test_counter);
/*
no_index_used