chromium/third_party/lcov/CHANGES

Version 1.10
============

All:
- Disabled branch coverage processing per default to improve processing
  performance (can be re-enabled using a config file setting)
- Added option --rc to override config file settings from the command line
- Added option --config-file to override the config file location
- Fixed handling of '<' in filenames

genhtml:
- Added option --ignore-errors to continue after errors
- Added man page note to further explain branch coverage output
- Fixed man page description of default coverage rates
- Fixed HTML page title for directory pages
- Fixed handling of special characters in file and directory names
- Fixed directory prefix calculation
- Fixed warning when source files are found in root directory

geninfo:
- Added options --external and --no-external to include/exclude external
  source files such as standard libary headers
- Added option --compat to specify compatibility modes
- Added missing man page sections for --derive-func-data and --no-markers
- Added support for MinGW output on MSYS. From [email protected]
- Added support for gcc 4.7 .gcno file format.  Based on patch by
  [email protected]
- Added auto-detection of gcc-4.7 function record format. Includes
  suggestions by [email protected]
- Fixed exclusion markers for --derive-func-data.  Reported by [email protected]
- Fixed processing of pre-3.3 gcov files. Reported by [email protected]
- Fixed handling of '<built-in>.gcov' files
- Fixed warning about unhandled .gcov files
- Improved --debug output
- Removed help text for obsolete parameter --function-coverage

genpng:
- Fixed handling of empty source files. Reported by: [email protected]

lcov:
- Added options --external and --no-external to include/exclude external source
  files such as standard libary headers
- Added option --summary to show summary coverage information
- Added option --compat to specify compatibility modes
- Fixed missing Perl version dependency in RPM spec file. Reported by
  Martin Hopfeld <[email protected]>
- Fixed geninfo not recognizing Objective-C functions. Based on patch
  by [email protected]
- Fixed option --no-recursion not being passed to geninfo
- Fixed capitalization of the term 'Perl'
- Improved coverage rate calculation to only show 0%/100% when no/full coverage
  is achieved.  Based on suggestions by [email protected] and
  [email protected]

lcovrc:
- Added description for geninfo_compat setting
- Added config file setting 'genhtml_charset' to specify HTML charset
- Added config file setting 'geninfo_external' to include/exclude external
  source files such as standard libary headers
- Added config file setting 'geninfo_gcov_all_blocks' to modify lcov's use
  of gcov's -a option
- Added config file setting 'geninfo_compat' to specify compatibility modes
- Added config file setting 'geninfo_adjust_src_path' to enabled source path
  adjustments.  Inspired by patch by [email protected]
- Added config file setting 'geninfo_auto_base' to automatically determine
  the base directory when collecting coverage data
- Added config file setting 'lcov_function_coverage' to enable/disable
  function coverage processing
- Added config file setting 'lcov_branch_coverage' to enable/disable
  branch coverage processing


Version 1.9
===========

genhtml:
- Improved wording for branch representation tooltip text
- Fixed vertical alignment of HTML branch representation

geninfo:
- Improved warning message about --initial not generating branch coverage data
- Debugging messages are now printed to STDERR instead of STDOUT
- Fixed problem with some .gcno files. Reported by [email protected].
  (file.gcno: reached unexpected end of file)
- Fixed problem with relative build paths. Reported by [email protected].
  (cannot find an entry for ^#src#test.c.gcov in .gcno file, skipping file!)
- Fixed problem where coverage data is missing for some files. Reported by
  [email protected]
- Fixed problem where exclusion markers are ignored when gathering
  initial coverage data. Reported by [email protected].
- Fixed large execution counts showing as negative numbers in HTML output.
  Reported by [email protected].
- Fixed problem that incorrectly associated branches outside of a block with
  branches inside the first block

lcov:
- Fixed problem that made lcov ignore --kernel-directory parameters when
  specifying --initial. Reported by [email protected].
- Added --list-full-path option to prevent lcov from truncating paths in list
  output
- Added lcov_list_width and lcov_list_truncate_max directives to the
  lcov configuration file to allow for list output customization
- Improved list output

COPYING:
- Added license text to better comply with GPL recommendations


Version 1.8
===========

gendesc:
- Fixed problem with single word descriptions

genhtml:
- Added support for branch coverage measurements
- Added --demangle-cpp option to convert C++ function names to human readable
  format. Based on a patch by [email protected].
- Improved color legend: legend display takes up less space in HTML output
- Improved coverage rate limits: all coverage types use the same limits
  unless specified otherwise
- Fixed CRLF line breaks in source code when generating html output. Based
  on patch by [email protected].
- Fixed warning when $HOME is not set
- Fixed problem with --baseline-file option. Reported by [email protected].
  (Undefined subroutine &main::add_fnccounts called at genhtml line 4560.)
- Fixed problem with --baseline-file option and files without function
  coverage data (Can't use an undefined value as a HASH reference at genhtml
  line 4441.)
- Fixed short-name option ambiguities
- Fixed --highlight option not showing line data from converted test data
- Fixed warnings about undefined value used. Reported by [email protected].
- Fixed error when processing tracefiles without function data. Reported
  by [email protected] (Can't use an undefined value as a HASH
  reference at genhtml line 1506.)

geninfo:
- Added support for branch coverage measurements
- Added support for exclusion markers: Users can exclude lines of code from
  coverage reports by adding keywords to the source code.
- Added --derive-func-data option
- Added --debug option to better debug problems with graph files
- Fixed CRLF line breaks in source code when generating tracefiles. Based on
  patch by [email protected].
- Fixed problems with unnamed source files
- Fixed warning when $HOME is not set. Reported by [email protected].
- Fixed errors when processing unnamed source files
- Fixed help text typo
- Fixed errors when processing incomplete function names in .bb files
- Fixed filename prefix detection
- Fixed problem with matching filename
- Fixed problem when LANG is set to non-english locale. Reported by
  [email protected].
- Fixed short-name option ambiguities

genpng:
- Fixed runtime-warning

lcov:
- Added support for branch coverage measurements
- Added support for the linux-2.6.31 upstream gcov kernel support
- Added --from-package and --to-package options
- Added --derive-func-data option
- Added overall coverage result output for more operations
- Improved output of lcov --list
- Improved gcov-kernel handling
- Fixed minor problem with --diff
- Fixed double-counting of function data
- Fixed warning when $HOME is not set. Reported by [email protected].
- Fixed error when combining tracefiles without function data. Reported by
  [email protected]. (Can't use an undefined value as a HASH reference
  at lcov line 1341.)
- Fixed help text typo
- Fixed filename prefix detection
- Fixed lcov ignoring information about converted test data

README: 
- Added note to mention required -lgcov switch during linking

 
Version 1.7:
============

gendesc:
- Updated error and warning messages
- Updated man page

genhtml:
- Added function coverage data display patch by [email protected] (default is on)
- Added --function-coverage to enable function coverage display
- Added --no-function-coverage to disable function coverage display
- Added sorting option in HTLM output (default is on)
- Added --sort to enable sorting
- Added --no-sort to disable sorting
- Added --html-gzip to create gzip-compressed HTML output (patch by
  [email protected])
- Fixed problem when using --baseline-file on coverage data files that
  contain data for files not found in the baseline file
- Updated error and warning messages
- Updated man page

geninfo:
- Added function coverage data collection patch by [email protected]
- Added more verbose output when a "ERROR: reading string" error occurs
  (patch by [email protected])
- Fixed geninfo not working with directory names containing spaces (reported
  by [email protected])
- Fixed "ERROR: reading string" problem with gcc 4.1
- Fixed problem with function names that contain non-alphanumerical characters
- Fixed problem with gcc versions before 3.3
- Updated error and warning messages
- Updated man page

genpng:
- Updated error and warning messages
- Updated man page

lcov:
- Added support for function coverage data for adding/diffing tracefiles
- Added --no-recursion option to disable recursion into sub-directories
  while scanning for gcov data files
- Fixed lcov -z not working with directory names containing spaces (reported
  by Jeff Connelly)
- Updated error and warning messages
- Updated man page

lcov.spec:
- Updated of description and title information

lcovrc:
- Added genhtml_function_hi_limit
- Added genhtml_function_med_limit
- Added genhtml_function_coverage
- Added genhtml_sort
- Updated man page

Makefile:
- Updated info text


Version 1.6:
============

geninfo:
- Added libtool compatibility patch by [email protected] (default is on)
- Added --compat-libtool option to enable libtool compatibility mode
- Added --no-compat-libtool option to disable libtool compatibility mode
- Changed default for line checksumming to off
- Added --checksum option to enable line checksumming
- Added --gcov-tool option
- Added --ignore-errors option
- Added --initial option to generate zero coverage from graph files
- Removed automatic test name modification on s390
- Added --checksum option
- Updated man page

lcov:
- Added libtool compatibility patch by [email protected]
- Added --compat-libtool option to enable libtool compatibility mode
- Added --no-compat-libtool option to disable libtool compatibility mode
- Added --checksum option to enable line checksumming
- Added --gcov-tool option
- Added --ignore-errors option
- Added --initial option to generate zero coverage from graph files
- Updated help text
- Updated man page
- Fixed lcov not working when -k is specified more than once
- Fixed lcov not deleting .gcda files when specifying -z and -d

lcovrc:
- Added geninfo_compat_libtool option
- Added geninfo_checksum option
- Removed geninfo_no_checksum option from example lcovrc
- Updated man page

README:
- Added description of lcovrc file


Version 1.5:
============

genhtml:
- Added check for invalid characters in test names
- Added --legend option
- Added --html-prolog option
- Added --html-epilog option
- Added --html-extension option
- Added warning when specifying --no-prefix and --prefix
- Reworked help text to make it more readable

geninfo:
- Renamed 'sles9' compatibility mode to 'hammer' compatibility mode
- Added support for mandrake gcc 3.3.2
- Fixed bbg file reading in hammer compatibility mode
- Added check for invalid characters in test names
- Added --base-directory option

lcov:
- Added check for invalid characters in test names
- Added --base-directory option


Version 1.4:
============

All:
- Added configuration file support

genhtml:
- Fixed help text message
- Fixed handling of special characters in file- and directory names
- Added description of --css-file option to man page

geninfo:
- Added support for GCOV file format as used by GCC 3.3.3 on SUSE SLES9
- Fixed error text message
- Added check to abort processing if no source code file is available
- Added workaround for a problem where geninfo could not find source code
  files for a C++ project
- Fixed 'branch'-statement parsing for GCC>=3.3 .gcov files
- Fixed exec count-statement parsing for GCC>=3.3 .gcov files
- Fixed .gcno-file parser (some lines were not counted as being instrumented)

lcov:
- Modified path for temporary files from '.' to '/tmp'
- Fixed comments
- Removed unused function 'escape_shell'

lcovrc:
- Introduced sample configuration file

Makefile:
- Added rule to install configuration file
- Fixed installation path for man pages


Version 1.3:
============

All:
- Added compatibility for gcc-3.4

lcov:
- Modified --diff function to better cope with ambiguous entries in patch files
- Modified --capture option to use modprobe before insmod (needed for 2.6)
- Added --path option required for --diff function


Version 1.2:
============

All:
- Added compatibility for gcc-3.3
- Adjusted LCOV-URL (http://ltp.sourceforge.net/coverage/lcov.php)
- Minor changes to whitespaces/line breaks/spelling
- Modified call mechanism so that parameters for external commands are not
  parsed by the shell mechanism anymore (no more problems with special
  characters in paths/filenames)
- Added checksumming mechanism: each tracefile now contains a checksum for
  each instrumented line to detect incompatible data

Makefile:
- Added rule to build source RPM
- Changed install path for executables (/usr/local/bin -> /usr/bin)

lcov.spec:
- Modified to support building source rpms

updateversion.pl:
- Modified to include update of release number in spec file

genhtml:
- Fixed bug which would not correctly associate data sets with an empty
  test name (only necessary when using --show-details in genhtml)
- Implemented new command line option '--nochecksum' to suppress generation
  of checksums
- Implemented new command line option '--highlight' which highlights lines of
  code which were only covered in converted tracefiles (see '--diff' option of
  lcov)

geninfo:
- Added workaround for a bug in gcov shipped with gcc-3.2 which aborts when
  encountering empty .da files
- Fixed geninfo so that it does not abort after encountering empty .bb files
- Added function to collect branch coverage data
- Added check for gcov tool
- Added check for the '--preserve-paths' option of gcov; if available, this
  will prevent losing .gcov files in some special cases (include files with
  same name in different subdirectories)
- Implemented new command line option '--follow' to control whether or not 
  links should be followed while searching for .da files.
- Implemented new command line option '--nochecksum' to suppress generation
  of checksums

lcov:
- Fixed bug which would not correctly associate data sets with an empty
  test name (only necessary when using --show-details in genhtml)
- Cleaned up internal command line option check
- Files are now processed in alphabetical order
- Added message when reading tracefiles
- Implemented new command line option '--nochecksum' to suppress generation
  of checksums
- Implemented new command line option '--diff' which allows converting
  coverage data from an older source code version by using a diff file
  to map line numbers
- Implemented new command line option '--follow' to control whether or not 
  links should be followed while searching for .da files.

genpng:
- Added support for the highlighting option of genhtml
- Corrected tab to spaces conversion
- Modified genpng to take number of spaces to use in place of tab as input
  instead of replacement string
  

Version 1.1:
============

- Added CHANGES file
- Added Makefile implementing the following targets:
  * install    : install LCOV scripts and man pages
  * uninstall  : revert previous installation
  * dist       : create lcov.tar.gz file and lcov.rpm file
  * clean      : clean up example directory, remove .tar and .rpm files
- Added man pages for all scripts
- Added example program to demonstrate the use of LCOV with a userspace
  application
- Implemented RPM build process
- New directory structure:
  * bin        : contains all executables
  * example    : contains a userspace example for LCOV
  * man        : contains man pages
  * rpm        : contains files required for the RPM build process
- LCOV-scripts are now in bin/
- Removed .pl-extension from LCOV-script files
- Renamed readme.txt to README

README:
- Adjusted mailing list address to [email protected]
- Fixed incorrect parameter '--output-filename' in example LCOV call
- Removed tool descriptions and turned them into man pages
- Installation instructions now refer to RPM and tarball

descriptions.tests:
- Fixed some spelling errors

genhtml:
- Fixed bug which resulted in an error when trying to combine .info files
  containing data without a test name
- Fixed bug which would not correctly handle data files in directories
  with names containing some special characters ('+', etc.)
- Added check for empty tracefiles to prevent division-by-zeros
- Implemented new command line option --num-spaces / the number of spaces
  which replace a tab in source code view is now user defined
- Fixed tab expansion so that in source code view, a tab doesn't produce a
  fixed number of spaces, but as many spaces as are needed to advance to the
  next tab position
- Output directory is now created if it doesn't exist
- Renamed "overview page" to "directory view page"
- HTML output pages are now titled "LCOV" instead of "GCOV"
- Information messages are now printed to STDERR instead of STDOUT

geninfo:
- Fixed bug which would not allow .info files to be generated in directories
  with names containing some special characters
- Information messages are now printed to STDERR instead of STDOUT

lcov:
- Fixed bug which would cause lcov to fail when the tool is installed in
  a path with a name containing some special characters
- Implemented new command line option '--add-tracefile' which allows the
  combination of data from several tracefiles
- Implemented new command line option '--list' which lists the contents
  of a tracefile
- Implemented new command line option '--extract' which allows extracting
  data for a particular set of files from a tracefile
- Implemented new command line option '--remove' which allows removing
  data for a particular set of files from a tracefile
- Renamed '--reset' to '--zerocounters' to avoid a naming ambiguity with
  '--remove'
- Changed name of gcov kernel directory from /proc/gcov to a global constant
  so that it may be changed easily when required in future versions
- Information messages are now printed to STDERR instead of STDOUT


Version 1.0 (2002-09-05):
=========================

- Initial version