Annotation of embedaddon/php/ext/mysqli/tests/mysqli_debug_append.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: mysqli_debug() - append to trace file
3: --SKIPIF--
4: <?php
5: require_once('skipif.inc');
6: require_once('skipifemb.inc');
7: require_once('skipifconnectfailure.inc');
8:
9: if (!function_exists('mysqli_debug'))
10: die("skip: mysqli_debug() not available");
11:
12: if (!defined('MYSQLI_DEBUG_TRACE_ENABLED'))
13: die("skip: can't say for sure if mysqli_debug works");
14:
15: if (defined('MYSQLI_DEBUG_TRACE_ENABLED') && !MYSQLI_DEBUG_TRACE_ENABLED)
16: die("skip: debug functionality not enabled");
17:
18: if (!$IS_MYSQLND)
19: die("SKIP Libmysql feature not sufficiently spec'd in MySQL C API documentation");
20: ?>
21: --FILE--
22: <?php
23: require_once('connect.inc');;
24:
25: if (true !== ($tmp = mysqli_debug(sprintf('d:t:O,%s/mysqli_debug_phpt.trace', sys_get_temp_dir()))))
26: printf("[001] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp);
27:
28: // table.inc will create a database connection and run some SQL queries, therefore
29: // the debug file should have entries
30: require_once('table.inc');
31:
32: clearstatcache();
33: $trace_file = sprintf('%s/mysqli_debug_phpt.trace', sys_get_temp_dir());
34: if (!file_exists($trace_file))
35: printf("[002] Trace file '%s' has not been created\n", $trace_file);
36: if (filesize($trace_file) < 50)
37: printf("[003] Trace file '%s' is very small. filesize() reports only %d bytes. Please check.\n",
38: $trace_file,
39: filesize($trace_file));
40:
41: // will mysqli_debug() mind if the trace file gets removed?
42: unlink($trace_file);
43: clearstatcache();
44:
45: if (!$fp = fopen($trace_file, 'w')) {
46: printf("[004] Cannot create trace file to test append mode\n");
47: } else {
48:
49: if (!fwrite($fp, (binary) 'mysqli_debug.phpt test line'))
50: printf("[005] Cannot write to trace file.\n");
51: fclose($fp);
52:
53: if (true !== ($tmp = mysqli_debug(sprintf('d:a,%s', $trace_file))))
54: printf("[006] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp);
55:
56: if (!$res = mysqli_query($link, 'SELECT * FROM test'))
57: printf("[007] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
58: else
59: mysqli_free_result($res);
60:
61: $trace = file_get_contents($trace_file);
62: if (!strstr($trace, 'mysqli_debug.phpt test line'))
63: printf("[008] Cannot find original file content any more. Seems that the trace file got overwritten and not appended. Please check.");
64:
65: if (true !== ($tmp = mysqli_debug(sprintf('d:A,%s', $trace_file))))
66: printf("[009] Expecting boolean/true, got %s/%s\n", gettype($tmp), $tmp);
67:
68: if (!$res = mysqli_query($link, 'SELECT * FROM test'))
69: printf("[010] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
70: else
71: mysqli_free_result($res);
72:
73: if (!strstr(file_get_contents($trace_file), $trace))
74: printf("[011] Cannot find original file content any more. Seems that the trace file got overwritten and not appended. Please check.");
75: }
76:
77: // what will happen if we create new trace entries...?
78: unlink($trace_file);
79: clearstatcache();
80: if (file_exists($trace_file))
81: printf("[012] Could not remove trace file '%s'.\n", $trace_file);
82:
83: mysqli_close($link);
84: print "done";
85: if ($IS_MYSQLND)
86: print "libmysql/DBUG package prints some debug info here."
87: ?>
88: --CLEAN--
89: <?php
90: require_once("clean_table.inc");
91: ?>
92: --EXPECTF--
93: done%s
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>