1 Version 1.10 2 ============ 3 4 All: 5 - Disabled branch coverage processing per default to improve processing 6 performance (can be re-enabled using a config file setting) 7 - Added option --rc to override config file settings from the command line 8 - Added option --config-file to override the config file location 9 - Fixed handling of '<' in filenames 10 11 genhtml: 12 - Added option --ignore-errors to continue after errors 13 - Added man page note to further explain branch coverage output 14 - Fixed man page description of default coverage rates 15 - Fixed HTML page title for directory pages 16 - Fixed handling of special characters in file and directory names 17 - Fixed directory prefix calculation 18 - Fixed warning when source files are found in root directory 19 20 geninfo: 21 - Added options --external and --no-external to include/exclude external 22 source files such as standard libary headers 23 - Added option --compat to specify compatibility modes 24 - Added missing man page sections for --derive-func-data and --no-markers 25 - Added support for MinGW output on MSYS. From martin.hopfeld (a] sse-erfurt.de 26 - Added support for gcc 4.7 .gcno file format. Based on patch by 27 berrange (a] redhat.com 28 - Added auto-detection of gcc-4.7 function record format. Includes 29 suggestions by garnold (a] google.com 30 - Fixed exclusion markers for --derive-func-data. Reported by bettse (a] gmail.com 31 - Fixed processing of pre-3.3 gcov files. Reported by georgysebastian (a] gmail.com 32 - Fixed handling of '<built-in>.gcov' files 33 - Fixed warning about unhandled .gcov files 34 - Improved --debug output 35 - Removed help text for obsolete parameter --function-coverage 36 37 genpng: 38 - Fixed handling of empty source files. Reported by: sylvestre (a] debian.org 39 40 lcov: 41 - Added options --external and --no-external to include/exclude external source 42 files such as standard libary headers 43 - Added option --summary to show summary coverage information 44 - Added option --compat to specify compatibility modes 45 - Fixed missing Perl version dependency in RPM spec file. Reported by 46 Martin Hopfeld <martin.hopfeld (a] sse-erfurt.de> 47 - Fixed geninfo not recognizing Objective-C functions. Based on patch 48 by abrahamh (a] web.de 49 - Fixed option --no-recursion not being passed to geninfo 50 - Fixed capitalization of the term 'Perl' 51 - Improved coverage rate calculation to only show 0%/100% when no/full coverage 52 is achieved. Based on suggestions by Paul.Zimmermann (a] loria.fr and 53 vincent (a] vinc17.net 54 55 lcovrc: 56 - Added description for geninfo_compat setting 57 - Added config file setting 'genhtml_charset' to specify HTML charset 58 - Added config file setting 'geninfo_external' to include/exclude external 59 source files such as standard libary headers 60 - Added config file setting 'geninfo_gcov_all_blocks' to modify lcov's use 61 of gcov's -a option 62 - Added config file setting 'geninfo_compat' to specify compatibility modes 63 - Added config file setting 'geninfo_adjust_src_path' to enabled source path 64 adjustments. Inspired by patch by ammon.riley (a] gmail.com 65 - Added config file setting 'geninfo_auto_base' to automatically determine 66 the base directory when collecting coverage data 67 - Added config file setting 'lcov_function_coverage' to enable/disable 68 function coverage processing 69 - Added config file setting 'lcov_branch_coverage' to enable/disable 70 branch coverage processing 71 72 73 Version 1.9 74 =========== 75 76 genhtml: 77 - Improved wording for branch representation tooltip text 78 - Fixed vertical alignment of HTML branch representation 79 80 geninfo: 81 - Improved warning message about --initial not generating branch coverage data 82 - Debugging messages are now printed to STDERR instead of STDOUT 83 - Fixed problem with some .gcno files. Reported by gui (a] futarque.com. 84 (file.gcno: reached unexpected end of file) 85 - Fixed problem with relative build paths. Reported by zhanbiao2000 (a] gmail.com. 86 (cannot find an entry for ^#src#test.c.gcov in .gcno file, skipping file!) 87 - Fixed problem where coverage data is missing for some files. Reported by 88 weston_schmidt (a] open-roadster.com 89 - Fixed problem where exclusion markers are ignored when gathering 90 initial coverage data. Reported by ahmed_osman (a] mentor.com. 91 - Fixed large execution counts showing as negative numbers in HTML output. 92 Reported by kkyriako (a] yahoo.com. 93 - Fixed problem that incorrectly associated branches outside of a block with 94 branches inside the first block 95 96 lcov: 97 - Fixed problem that made lcov ignore --kernel-directory parameters when 98 specifying --initial. Reported by hjia (a] redhat.com. 99 - Added --list-full-path option to prevent lcov from truncating paths in list 100 output 101 - Added lcov_list_width and lcov_list_truncate_max directives to the 102 lcov configuration file to allow for list output customization 103 - Improved list output 104 105 COPYING: 106 - Added license text to better comply with GPL recommendations 107 108 109 Version 1.8 110 =========== 111 112 gendesc: 113 - Fixed problem with single word descriptions 114 115 genhtml: 116 - Added support for branch coverage measurements 117 - Added --demangle-cpp option to convert C++ function names to human readable 118 format. Based on a patch by slava.semushin (a] gmail.com. 119 - Improved color legend: legend display takes up less space in HTML output 120 - Improved coverage rate limits: all coverage types use the same limits 121 unless specified otherwise 122 - Fixed CRLF line breaks in source code when generating html output. Based 123 on patch by michael.knigge (a] set-software.de. 124 - Fixed warning when $HOME is not set 125 - Fixed problem with --baseline-file option. Reported by sixarm (a] gmail.com. 126 (Undefined subroutine &main::add_fnccounts called at genhtml line 4560.) 127 - Fixed problem with --baseline-file option and files without function 128 coverage data (Can't use an undefined value as a HASH reference at genhtml 129 line 4441.) 130 - Fixed short-name option ambiguities 131 - Fixed --highlight option not showing line data from converted test data 132 - Fixed warnings about undefined value used. Reported by nikita (a] zhuk.fi. 133 - Fixed error when processing tracefiles without function data. Reported 134 by richard.corden (a] gmail.com (Can't use an undefined value as a HASH 135 reference at genhtml line 1506.) 136 137 geninfo: 138 - Added support for branch coverage measurements 139 - Added support for exclusion markers: Users can exclude lines of code from 140 coverage reports by adding keywords to the source code. 141 - Added --derive-func-data option 142 - Added --debug option to better debug problems with graph files 143 - Fixed CRLF line breaks in source code when generating tracefiles. Based on 144 patch by michael.knigge (a] set-software.de. 145 - Fixed problems with unnamed source files 146 - Fixed warning when $HOME is not set. Reported by acalando (a] free.fr. 147 - Fixed errors when processing unnamed source files 148 - Fixed help text typo 149 - Fixed errors when processing incomplete function names in .bb files 150 - Fixed filename prefix detection 151 - Fixed problem with matching filename 152 - Fixed problem when LANG is set to non-english locale. Reported by 153 benoit_belbezet (a] yahoo.fr. 154 - Fixed short-name option ambiguities 155 156 genpng: 157 - Fixed runtime-warning 158 159 lcov: 160 - Added support for branch coverage measurements 161 - Added support for the linux-2.6.31 upstream gcov kernel support 162 - Added --from-package and --to-package options 163 - Added --derive-func-data option 164 - Added overall coverage result output for more operations 165 - Improved output of lcov --list 166 - Improved gcov-kernel handling 167 - Fixed minor problem with --diff 168 - Fixed double-counting of function data 169 - Fixed warning when $HOME is not set. Reported by acalando (a] free.fr. 170 - Fixed error when combining tracefiles without function data. Reported by 171 richard.corden (a] gmail.com. (Can't use an undefined value as a HASH reference 172 at lcov line 1341.) 173 - Fixed help text typo 174 - Fixed filename prefix detection 175 - Fixed lcov ignoring information about converted test data 176 177 README: 178 - Added note to mention required -lgcov switch during linking 179 180 181 Version 1.7: 182 ============ 183 184 gendesc: 185 - Updated error and warning messages 186 - Updated man page 187 188 genhtml: 189 - Added function coverage data display patch by tomzo (a] nefkom.net (default is on) 190 - Added --function-coverage to enable function coverage display 191 - Added --no-function-coverage to disable function coverage display 192 - Added sorting option in HTLM output (default is on) 193 - Added --sort to enable sorting 194 - Added --no-sort to disable sorting 195 - Added --html-gzip to create gzip-compressed HTML output (patch by 196 dnozay (a] vmware.com) 197 - Fixed problem when using --baseline-file on coverage data files that 198 contain data for files not found in the baseline file 199 - Updated error and warning messages 200 - Updated man page 201 202 geninfo: 203 - Added function coverage data collection patch by tomzo (a] nefkom.net 204 - Added more verbose output when a "ERROR: reading string" error occurs 205 (patch by scott.heavner (a] philips.com) 206 - Fixed geninfo not working with directory names containing spaces (reported 207 by jeffconnelly (a] users.sourceforge.net) 208 - Fixed "ERROR: reading string" problem with gcc 4.1 209 - Fixed problem with function names that contain non-alphanumerical characters 210 - Fixed problem with gcc versions before 3.3 211 - Updated error and warning messages 212 - Updated man page 213 214 genpng: 215 - Updated error and warning messages 216 - Updated man page 217 218 lcov: 219 - Added support for function coverage data for adding/diffing tracefiles 220 - Added --no-recursion option to disable recursion into sub-directories 221 while scanning for gcov data files 222 - Fixed lcov -z not working with directory names containing spaces (reported 223 by Jeff Connelly) 224 - Updated error and warning messages 225 - Updated man page 226 227 lcov.spec: 228 - Updated of description and title information 229 230 lcovrc: 231 - Added genhtml_function_hi_limit 232 - Added genhtml_function_med_limit 233 - Added genhtml_function_coverage 234 - Added genhtml_sort 235 - Updated man page 236 237 Makefile: 238 - Updated info text 239 240 241 Version 1.6: 242 ============ 243 244 geninfo: 245 - Added libtool compatibility patch by thomas (a] apestaart.org (default is on) 246 - Added --compat-libtool option to enable libtool compatibility mode 247 - Added --no-compat-libtool option to disable libtool compatibility mode 248 - Changed default for line checksumming to off 249 - Added --checksum option to enable line checksumming 250 - Added --gcov-tool option 251 - Added --ignore-errors option 252 - Added --initial option to generate zero coverage from graph files 253 - Removed automatic test name modification on s390 254 - Added --checksum option 255 - Updated man page 256 257 lcov: 258 - Added libtool compatibility patch by thomas (a] apestaart.org 259 - Added --compat-libtool option to enable libtool compatibility mode 260 - Added --no-compat-libtool option to disable libtool compatibility mode 261 - Added --checksum option to enable line checksumming 262 - Added --gcov-tool option 263 - Added --ignore-errors option 264 - Added --initial option to generate zero coverage from graph files 265 - Updated help text 266 - Updated man page 267 - Fixed lcov not working when -k is specified more than once 268 - Fixed lcov not deleting .gcda files when specifying -z and -d 269 270 lcovrc: 271 - Added geninfo_compat_libtool option 272 - Added geninfo_checksum option 273 - Removed geninfo_no_checksum option from example lcovrc 274 - Updated man page 275 276 README: 277 - Added description of lcovrc file 278 279 280 Version 1.5: 281 ============ 282 283 genhtml: 284 - Added check for invalid characters in test names 285 - Added --legend option 286 - Added --html-prolog option 287 - Added --html-epilog option 288 - Added --html-extension option 289 - Added warning when specifying --no-prefix and --prefix 290 - Reworked help text to make it more readable 291 292 geninfo: 293 - Renamed 'sles9' compatibility mode to 'hammer' compatibility mode 294 - Added support for mandrake gcc 3.3.2 295 - Fixed bbg file reading in hammer compatibility mode 296 - Added check for invalid characters in test names 297 - Added --base-directory option 298 299 lcov: 300 - Added check for invalid characters in test names 301 - Added --base-directory option 302 303 304 Version 1.4: 305 ============ 306 307 All: 308 - Added configuration file support 309 310 genhtml: 311 - Fixed help text message 312 - Fixed handling of special characters in file- and directory names 313 - Added description of --css-file option to man page 314 315 geninfo: 316 - Added support for GCOV file format as used by GCC 3.3.3 on SUSE SLES9 317 - Fixed error text message 318 - Added check to abort processing if no source code file is available 319 - Added workaround for a problem where geninfo could not find source code 320 files for a C++ project 321 - Fixed 'branch'-statement parsing for GCC>=3.3 .gcov files 322 - Fixed exec count-statement parsing for GCC>=3.3 .gcov files 323 - Fixed .gcno-file parser (some lines were not counted as being instrumented) 324 325 lcov: 326 - Modified path for temporary files from '.' to '/tmp' 327 - Fixed comments 328 - Removed unused function 'escape_shell' 329 330 lcovrc: 331 - Introduced sample configuration file 332 333 Makefile: 334 - Added rule to install configuration file 335 - Fixed installation path for man pages 336 337 338 Version 1.3: 339 ============ 340 341 All: 342 - Added compatibility for gcc-3.4 343 344 lcov: 345 - Modified --diff function to better cope with ambiguous entries in patch files 346 - Modified --capture option to use modprobe before insmod (needed for 2.6) 347 - Added --path option required for --diff function 348 349 350 Version 1.2: 351 ============ 352 353 All: 354 - Added compatibility for gcc-3.3 355 - Adjusted LCOV-URL (http://ltp.sourceforge.net/coverage/lcov.php) 356 - Minor changes to whitespaces/line breaks/spelling 357 - Modified call mechanism so that parameters for external commands are not 358 parsed by the shell mechanism anymore (no more problems with special 359 characters in paths/filenames) 360 - Added checksumming mechanism: each tracefile now contains a checksum for 361 each instrumented line to detect incompatible data 362 363 Makefile: 364 - Added rule to build source RPM 365 - Changed install path for executables (/usr/local/bin -> /usr/bin) 366 367 lcov.spec: 368 - Modified to support building source rpms 369 370 updateversion.pl: 371 - Modified to include update of release number in spec file 372 373 genhtml: 374 - Fixed bug which would not correctly associate data sets with an empty 375 test name (only necessary when using --show-details in genhtml) 376 - Implemented new command line option '--nochecksum' to suppress generation 377 of checksums 378 - Implemented new command line option '--highlight' which highlights lines of 379 code which were only covered in converted tracefiles (see '--diff' option of 380 lcov) 381 382 geninfo: 383 - Added workaround for a bug in gcov shipped with gcc-3.2 which aborts when 384 encountering empty .da files 385 - Fixed geninfo so that it does not abort after encountering empty .bb files 386 - Added function to collect branch coverage data 387 - Added check for gcov tool 388 - Added check for the '--preserve-paths' option of gcov; if available, this 389 will prevent losing .gcov files in some special cases (include files with 390 same name in different subdirectories) 391 - Implemented new command line option '--follow' to control whether or not 392 links should be followed while searching for .da files. 393 - Implemented new command line option '--nochecksum' to suppress generation 394 of checksums 395 396 lcov: 397 - Fixed bug which would not correctly associate data sets with an empty 398 test name (only necessary when using --show-details in genhtml) 399 - Cleaned up internal command line option check 400 - Files are now processed in alphabetical order 401 - Added message when reading tracefiles 402 - Implemented new command line option '--nochecksum' to suppress generation 403 of checksums 404 - Implemented new command line option '--diff' which allows converting 405 coverage data from an older source code version by using a diff file 406 to map line numbers 407 - Implemented new command line option '--follow' to control whether or not 408 links should be followed while searching for .da files. 409 410 genpng: 411 - Added support for the highlighting option of genhtml 412 - Corrected tab to spaces conversion 413 - Modified genpng to take number of spaces to use in place of tab as input 414 instead of replacement string 415 416 417 Version 1.1: 418 ============ 419 420 - Added CHANGES file 421 - Added Makefile implementing the following targets: 422 * install : install LCOV scripts and man pages 423 * uninstall : revert previous installation 424 * dist : create lcov.tar.gz file and lcov.rpm file 425 * clean : clean up example directory, remove .tar and .rpm files 426 - Added man pages for all scripts 427 - Added example program to demonstrate the use of LCOV with a userspace 428 application 429 - Implemented RPM build process 430 - New directory structure: 431 * bin : contains all executables 432 * example : contains a userspace example for LCOV 433 * man : contains man pages 434 * rpm : contains files required for the RPM build process 435 - LCOV-scripts are now in bin/ 436 - Removed .pl-extension from LCOV-script files 437 - Renamed readme.txt to README 438 439 README: 440 - Adjusted mailing list address to ltp-coverage (a] lists.sourceforge.net 441 - Fixed incorrect parameter '--output-filename' in example LCOV call 442 - Removed tool descriptions and turned them into man pages 443 - Installation instructions now refer to RPM and tarball 444 445 descriptions.tests: 446 - Fixed some spelling errors 447 448 genhtml: 449 - Fixed bug which resulted in an error when trying to combine .info files 450 containing data without a test name 451 - Fixed bug which would not correctly handle data files in directories 452 with names containing some special characters ('+', etc.) 453 - Added check for empty tracefiles to prevent division-by-zeros 454 - Implemented new command line option --num-spaces / the number of spaces 455 which replace a tab in source code view is now user defined 456 - Fixed tab expansion so that in source code view, a tab doesn't produce a 457 fixed number of spaces, but as many spaces as are needed to advance to the 458 next tab position 459 - Output directory is now created if it doesn't exist 460 - Renamed "overview page" to "directory view page" 461 - HTML output pages are now titled "LCOV" instead of "GCOV" 462 - Information messages are now printed to STDERR instead of STDOUT 463 464 geninfo: 465 - Fixed bug which would not allow .info files to be generated in directories 466 with names containing some special characters 467 - Information messages are now printed to STDERR instead of STDOUT 468 469 lcov: 470 - Fixed bug which would cause lcov to fail when the tool is installed in 471 a path with a name containing some special characters 472 - Implemented new command line option '--add-tracefile' which allows the 473 combination of data from several tracefiles 474 - Implemented new command line option '--list' which lists the contents 475 of a tracefile 476 - Implemented new command line option '--extract' which allows extracting 477 data for a particular set of files from a tracefile 478 - Implemented new command line option '--remove' which allows removing 479 data for a particular set of files from a tracefile 480 - Renamed '--reset' to '--zerocounters' to avoid a naming ambiguity with 481 '--remove' 482 - Changed name of gcov kernel directory from /proc/gcov to a global constant 483 so that it may be changed easily when required in future versions 484 - Information messages are now printed to STDERR instead of STDOUT 485 486 487 Version 1.0 (2002-09-05): 488 ========================= 489 490 - Initial version 491 492