]> granicus.if.org Git - php/commitdiff
Testing for the two new statistics 'bytes_received_real_data_normal' and 'bytes_recei...
authorUlf Wendel <uw@php.net>
Fri, 12 Nov 2010 12:21:35 +0000 (12:21 +0000)
committerUlf Wendel <uw@php.net>
Fri, 12 Nov 2010 12:21:35 +0000 (12:21 +0000)
ext/mysqli/tests/mysqli_get_client_stats.phpt

index d156fd695b1797ab76fe7bc85b46791dac7e43a3..ef5ef6ee69c0e515f39ae223251b52a35614c5ed 100644 (file)
@@ -63,14 +63,14 @@ mysqlnd.collect_memory_statistics=1
                $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));
@@ -107,6 +107,7 @@ mysqlnd.collect_memory_statistics=1
        }
 
        $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);
@@ -135,6 +136,10 @@ mysqlnd.collect_memory_statistics=1
        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",
@@ -154,11 +159,17 @@ mysqlnd.collect_memory_statistics=1
        $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);
@@ -176,6 +187,11 @@ mysqlnd.collect_memory_statistics=1
                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);
@@ -188,17 +204,21 @@ mysqlnd.collect_memory_statistics=1
                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);
@@ -213,6 +233,8 @@ mysqlnd.collect_memory_statistics=1
                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);
 
@@ -221,9 +243,13 @@ mysqlnd.collect_memory_statistics=1
                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))
                ;
@@ -238,6 +264,9 @@ mysqlnd.collect_memory_statistics=1
                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);
@@ -260,6 +289,9 @@ mysqlnd.collect_memory_statistics=1
                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);
@@ -278,6 +310,8 @@ mysqlnd.collect_memory_statistics=1
                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);
@@ -302,6 +336,9 @@ mysqlnd.collect_memory_statistics=1
                        ++$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);
@@ -318,6 +355,8 @@ mysqlnd.collect_memory_statistics=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') ||
@@ -347,6 +386,10 @@ mysqlnd.collect_memory_statistics=1
                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);
@@ -384,6 +427,9 @@ mysqlnd.collect_memory_statistics=1
                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);
@@ -426,6 +472,9 @@ mysqlnd.collect_memory_statistics=1
                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);
@@ -458,6 +507,9 @@ mysqlnd.collect_memory_statistics=1
                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);
@@ -473,6 +525,8 @@ mysqlnd.collect_memory_statistics=1
                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);
@@ -489,6 +543,9 @@ mysqlnd.collect_memory_statistics=1
                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
        //
@@ -518,6 +575,9 @@ mysqlnd.collect_memory_statistics=1
        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
        //
@@ -673,6 +733,7 @@ mysqlnd.collect_memory_statistics=1
                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;
 
@@ -697,6 +758,9 @@ mysqlnd.collect_memory_statistics=1
                $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
@@ -778,6 +842,7 @@ mysqlnd.collect_memory_statistics=1
        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"');
@@ -794,6 +859,9 @@ mysqlnd.collect_memory_statistics=1
                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
@@ -842,6 +910,9 @@ mysqlnd.collect_memory_statistics=1
 
        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