The following NEW bug has been ADDED.
======================================================================
http://bugs.xdebug.org/bug_view_advanced_page.php?bug_id=0000172
======================================================================
Reporter: Xuefer
Handler:
======================================================================
Project: Xdebug
Bug ID: 172
Category: Usage problems
Reproducibility: always
Severity: major
Priority: normal
Status: new
Operating System:
PHP Version: 4.3.11
Xdebug Version: 2.0.0beta4
======================================================================
Date Submitted: 2006-03-10 13:05 CET
Last Modified: 2006-03-10 13:05 CET
======================================================================
Summary: coverage produce wrong coverage
Description:
1. not all opcode is catched by coverage at runtime
a.php
<?php
xdebug_start_code_coverage(XDEBUG_CC_UNUSED);
include("b.php");
?>
b.php
<?php
$a = "";
$a =
""
. "abc{$a}abc"
. "abc"
;
$cov = xdebug_get_code_coverage();
print_r($cov);
?>
result:
Array
(
[/home/xuefer/htdocs/skydotnet_php5/matrix/debug/test/a.php] => Array
(
[4] => 1
)
[/home/xuefer/htdocs/skydotnet_php5/matrix/debug/test/abc.php] =>
Array
(
[3] => 1
[6] => 1
[7] => -1
[8] => -1
[9] => 1
[10] => -1
[13] => -1
)
)
at least
[7] => -1
[8] => -1
should be both 1
2. i'd suggest -1 to be 0
3. very slow with XDEBUG_CC_UNUSED, xdebug_prefil_code_coverage() is
executed no matter if the op_array is done before.
suggested fix:
a. move it to xdebug_compile_file()
b. add a hash (by pointer) that avoid re-fill the same op_array, but the
file included before xdebug_start_code_coverage is will not be prefilled
c. when xdebug_get_code_coverage(XDEBUG_CC_UNUSED), loop though all the
op_array(file/function/class method) for xdebug_prefil_code_coverage(), it
could be a bit hard to get the file op_array
======================================================================
Bug History
Date Modified Username Field Change
======================================================================
2006-03-10 13:05Xuefer New Bug
2006-03-10 13:05Xuefer Bug Monitored: Xuefer
======================================================================
Received on Fri Mar 10 2006 - 13:05:24 GMT
This archive was generated by hypermail 2.2.0 : Sun Jun 24 2018 - 04:00:03 BST