1Version 1.10 2============ 3 4All: 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 11genhtml: 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 20geninfo: 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@sse-erfurt.de 26- Added support for gcc 4.7 .gcno file format. Based on patch by 27 berrange@redhat.com 28- Added auto-detection of gcc-4.7 function record format. Includes 29 suggestions by garnold@google.com 30- Fixed exclusion markers for --derive-func-data. Reported by bettse@gmail.com 31- Fixed processing of pre-3.3 gcov files. Reported by georgysebastian@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 37genpng: 38- Fixed handling of empty source files. Reported by: sylvestre@debian.org 39 40lcov: 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@sse-erfurt.de> 47- Fixed geninfo not recognizing Objective-C functions. Based on patch 48 by abrahamh@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@loria.fr and 53 vincent@vinc17.net 54 55lcovrc: 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@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 73Version 1.9 74=========== 75 76genhtml: 77- Improved wording for branch representation tooltip text 78- Fixed vertical alignment of HTML branch representation 79 80geninfo: 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@futarque.com. 84 (file.gcno: reached unexpected end of file) 85- Fixed problem with relative build paths. Reported by zhanbiao2000@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@open-roadster.com 89- Fixed problem where exclusion markers are ignored when gathering 90 initial coverage data. Reported by ahmed_osman@mentor.com. 91- Fixed large execution counts showing as negative numbers in HTML output. 92 Reported by kkyriako@yahoo.com. 93- Fixed problem that incorrectly associated branches outside of a block with 94 branches inside the first block 95 96lcov: 97- Fixed problem that made lcov ignore --kernel-directory parameters when 98 specifying --initial. Reported by hjia@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 105COPYING: 106- Added license text to better comply with GPL recommendations 107 108 109Version 1.8 110=========== 111 112gendesc: 113- Fixed problem with single word descriptions 114 115genhtml: 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@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@set-software.de. 124- Fixed warning when $HOME is not set 125- Fixed problem with --baseline-file option. Reported by sixarm@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@zhuk.fi. 133- Fixed error when processing tracefiles without function data. Reported 134 by richard.corden@gmail.com (Can't use an undefined value as a HASH 135 reference at genhtml line 1506.) 136 137geninfo: 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@set-software.de. 145- Fixed problems with unnamed source files 146- Fixed warning when $HOME is not set. Reported by acalando@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@yahoo.fr. 154- Fixed short-name option ambiguities 155 156genpng: 157- Fixed runtime-warning 158 159lcov: 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@free.fr. 170- Fixed error when combining tracefiles without function data. Reported by 171 richard.corden@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 177README: 178- Added note to mention required -lgcov switch during linking 179 180 181Version 1.7: 182============ 183 184gendesc: 185- Updated error and warning messages 186- Updated man page 187 188genhtml: 189- Added function coverage data display patch by tomzo@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@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 202geninfo: 203- Added function coverage data collection patch by tomzo@nefkom.net 204- Added more verbose output when a "ERROR: reading string" error occurs 205 (patch by scott.heavner@philips.com) 206- Fixed geninfo not working with directory names containing spaces (reported 207 by jeffconnelly@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 214genpng: 215- Updated error and warning messages 216- Updated man page 217 218lcov: 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 227lcov.spec: 228- Updated of description and title information 229 230lcovrc: 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 237Makefile: 238- Updated info text 239 240 241Version 1.6: 242============ 243 244geninfo: 245- Added libtool compatibility patch by thomas@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 257lcov: 258- Added libtool compatibility patch by thomas@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 270lcovrc: 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 276README: 277- Added description of lcovrc file 278 279 280Version 1.5: 281============ 282 283genhtml: 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 292geninfo: 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 299lcov: 300- Added check for invalid characters in test names 301- Added --base-directory option 302 303 304Version 1.4: 305============ 306 307All: 308- Added configuration file support 309 310genhtml: 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 315geninfo: 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 325lcov: 326- Modified path for temporary files from '.' to '/tmp' 327- Fixed comments 328- Removed unused function 'escape_shell' 329 330lcovrc: 331- Introduced sample configuration file 332 333Makefile: 334- Added rule to install configuration file 335- Fixed installation path for man pages 336 337 338Version 1.3: 339============ 340 341All: 342- Added compatibility for gcc-3.4 343 344lcov: 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 350Version 1.2: 351============ 352 353All: 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 363Makefile: 364- Added rule to build source RPM 365- Changed install path for executables (/usr/local/bin -> /usr/bin) 366 367lcov.spec: 368- Modified to support building source rpms 369 370updateversion.pl: 371- Modified to include update of release number in spec file 372 373genhtml: 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 382geninfo: 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 396lcov: 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 410genpng: 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 417Version 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 439README: 440- Adjusted mailing list address to ltp-coverage@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 445descriptions.tests: 446- Fixed some spelling errors 447 448genhtml: 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 464geninfo: 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 469lcov: 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 487Version 1.0 (2002-09-05): 488========================= 489 490- Initial version 491 492