|
|
|
|
Changelog for lcov-example-2.0+git.20240123.d981242-4.2.noarch.rpm :
* Tue Jul 16 2024 Florian - Added missing perl-TimeDate dependency * Thu Apr 04 2024 Martin Pluskal - Fix incorrectly set permissions (boo#1222234) * Mon Feb 19 2024 Martin Pluskal - Modernise spec file * Sun Feb 04 2024 Florian \"sp1rit\" - Update to version 2.0+git.20240123.d981242: * fix typos (#260) * Add checksum support to py2lcov, perl2lcov * Simplify extracted function name for Python code: ignore params. * Report timestamp error at most once per file. * Refactor \'py2lcov\' translator: * Move \'py2lcov\' utility to \'bin\' directory (from \'share/lcov/support-scripts\') - to make it consistent with the perl2lcov utility. * Add \'perl2lcov\' script - to translate Perl Devel::Cover data into lcov format. See \'perl2lcov --help\' and the Devel::Cover documentation, for usage. * Functionality: implement \'genhtml --select-script ..\' callback to select subset of coverpoints to show in HTML report. The expected use case is code review, when we want to show only the changes caused by a particular commit or set of commits - say, to show the new code as well as any coverage gains or losses outside of the code change. See the \'--select-script\' section of the genhtml man page, as well as the \'review\' section in the \'example\' directory. * Ignore coverpoints on line numbers <= 0; remove from DB if error message is ignored. There clearly are no such lines in any file. These happen for certain branches generated by Coverage.py. * Bugfix: ignore lambdas during function end line derivation - they would need to be found syntactically. Recommend user to upgrade to newer compiler. * Fix typo (#257) * Fix RPM specification * Fix broken makefile. * Bugfox: do not push --base-directory onto source-dir list multiple times (issue #254) * Bugfix: typo - issue #255 * Bugfix: fix #253 - broken geninfo_adjust_src_path RC option. Also deprecate the option in favor of \'substitute = ....\' - which is more general and does better error checking. * Bugfix: ERROR_COUNT message * Improved error message wording (singular/plural) * Remove explicit man page names from Makefile - we may have some non-public doc that we don\'t want to name. Revert some Makefile changes to fix rpm target. * Fix man page formatting. * Documentation: clarify filtering association with source language. * Add compute_file_version option to insert source file version post-facto - e.g., if some tool did not support versioning. * Improve debug/diagnostic experience: add context information if callback fails. * Add \'--abbrev regexp\' option to gitblame.pm This enables easy author grouping - say, for those inside vs outside the company. * Bring README/doc up to date. * Show full path (including prefix) in directory/file table tooltip. * FUNCTIONALITY: add message type \'missing\' to handle case that some .info file is missing. Goal is to enable mechanism for user\'s job to continue in the presence of errors. * Bugfix: trace_data may be undef if no GCDA files found. Missing return value. * Bugfix: \'genhtml --prefix\' fails if prefix directory contains source files. See #245 * More uniform handling of invalid \'hit\' counts. * Refactor callback implementation to use Perl modules, if available. The module may be faster than an external callback and enables reuse while providing some additional flexibility. * Add \'memory_percentage\' config file option to enable user to specify threshold for memory throttling as a proportion of total system memory. (Easier to handle disparate compute farm.) * Simplify/future proof parameter overrides - easier to add new options in future. * Bugfix: --keep-going flag. * Bugfix: use unique key in profile * Performance: don\'t compute MD5 unless we need it. * clarify message * Man page correction - see PR #243 * bin/geninfo - fix: ingnorable_warning -> ignorable_warning (#244) * Fix test portability issues for old compiler versions. * Improved handling/reporting of child process exit reason. * Add --resolve-script callback - to handle cases where file path munging is more complicated than simple regexp substituion can easily handle. * Return non-zero exit code if error(s) detected when --keep-going flag is set. * Accidental inclusion. Deleted. * Add config file option to enable/disable file existence check before version-script or annotation-script callback. Add option to deal with missing files to sample version-scripts. * Refactor to use single parallelism idiom everwhere. Simplify error handling to make it easier to add or change message types. Add message count summary. * Use --source-directory list option to search for relative file paths. Check that --source-directory and --build-directory patterns are applied at least once. Add corresponding RC entries \'source_directory = ..\' and \'build_directory = ...\' * Add profile data. * Use common message infrastructure. Print explanatory text for first message only. * bugfix: handling * Don\'t build data for skipped file if it appears multiple times. * Add tests to installed release. They are potentially useful examples, despite being written to test functionality rather than to serve as tutorial eamples. Enable coverage data collection for the LCOV implementation - for both developer and module user. * Add message type \'usage\' to report tool usage/parameter issues * Use message type \'utility\' to report error code from tool called by lcov - for example, \'find\' discovers and unreadable directory * More consistent message handling. Clean up warn/die text. * Avoid duplicate messages in execution log: - Add config file option to print certain warnings once per file - rather than on every occurrence. Default is once only. - Use deferred warnings to avoid reporting duplicate messages from parallel children. * Enable annotation tooltip to show the full author name (as opposed to the abbreviated name). This is useful for opensource components which have a lot of contributors, for example. * More verbosity for user configuration debugging. * Use new error type \'range\' to report out-of-range coverpoints. Thus, user can either use \"--filter range\" to remove the offending data, or \"--ignore-error range\" to turn the error to warning and keep the data. Generate fake source text in the source detail view for out-of-range lines. * Bugfix: routine is in lcovutil module. * Correct some man page errors. * Add \'genhtml_frames\' to lcovrc config file - corresponds to \'genhtml --frames\' Clarify implications of chrome/firefox bug when using \'frames\'. * Use different background color to distinguish directory vs file summary table entries, in \'genhtml --hierarchical\' output. * Modify \'example\' to show differential coverage report via a moderately realistic use model. Add example to install - in $PREFIX/share/lcov/example. * Apply substitutions to genhtml --diff-file data. Additional error checking during diff-file parsing + ability to ignore errors in diff file. * typo * install PREFIX should be absolute path (make it so). Remove some unused variables. * Check that file version matches before applying filters. * Bugfix: use unique ID for filter chunk: we may filter more than one tracefile. * Debug logging. * Support case where user specifies diff file but no baseline. In that case, assume that baseline coverage was zero (nothing hit). This case is useful if we have the baseline code (or git SHA or P4 CL) but no easy way to go back to generate baseline coverage data - however, we want to check that all of our new code and changes are covered. Note that this yields a similar result as a date bin cutpoint at the corresponding time - except that code will be categorized as GNC/UNC/GIC/UIC rather than HIT/MIS in a particular bin. Overall coverage result is identical - but user\'s environment might cope better with one or the other. * Fix typo, add additional \'branch expression\' clarification. * BUGFIX: handle case that there is no \'geninfo\' data. * Improved summary table column labeling, add tooltip popups. * Add \'install\' support for local (non-exported) man pages - e.g., for features which have not been upstreamed. * bugfix: misaligned return list * Portability: don\'t use \'floor\' - which is not exported by some old Perl versions * Additional eror checking: - diagnostics for serialization/parallelization failures and version mismatch. - more careful checking of return codes for pipe and file operations. * Send \'git blame\' percentage complete updates to /dev/null. * Support set operations (intersect, difference, union) on lcov data. * Keep track of child error counts - to avoid redundant messages. Note that child messages may not be suppressed if children are running in parallel (and were started before any matching messages were reported). * Show number of source files in text summary. * Keep track of operations which have been applied - so we don\'t apply them again. * BUGFIX: incorrectly duplicated path segment for relative path (typo). * Show basseline count for LBC and ECB lines and branches. We know that the current count is zero (LCB) or undefined (ECB). Having the baseline count is useful, especially in the context of random tests as it can tell us if we lost a low probability event (baseline count was \"small\") or we did something bad and no longer reach what had been a high probability event. For line coverpoints: show baseline count in parens in source detail pane. For branch coverpoints: include baseline count in tooltip popup. * Clarify top-level summary table colorization * Windows portability * Parallelize \'filter\' operation - reduces fitler time by about 50% for large examples. * Git callback enhancements: - Don\'t include modify date when comparing MD5 signature; this enables easier handling of generated files which are not in the repo but not changed between builds. - Add support for \'--prefix\' to git repo; this enables easier handling of nonlocal builds. * BUGFIX: show value in directory file table + fix tooltip * \'--comment\' feature: store comments in .info file * Minor enhancements to --version-script examples. * geninfo performance enhancement: process GDCA files in chunks - to trade off parallelism with queue overhead. * Add environment variable LCOV_SHOW_LOCATION to leave file/line info in error and warning messages - to make it easier to debug issues without needing to turn on verbose --debug messages. * BUGFIX: reversed sense of warning message suffix suppression * Fix broken change (bad merge) * Fix geninfo performance issue: don\'t free parent trace data in child. This turns out to be significant bottleneck when database gets large - and there is no need to free the data, in any case. Add more timing data to interval print message (helpful for future performance debugging) * Bugfix: missed changes. * BUGFIX: pass maxMemory to geninfo * More doc clarification - derive_function_end_line * BUGFIX: recategorization when there is no baseline data. * Use full git SHA * Add \'gitversion\' script for use with \'genhtml --version-script\' callback. * Support multiple \'--baseline-file\' parameters to genhtml - to more easily support case of separate .info files for multiple test suites. Do not force user to merge an aggregate result in order to generate differential report. * DOCUMENTATION: clarify that branch coverage is disabled by default - must be explicitly enabled by command line option or config file entry. * Refactor various classes to simplify implemenation/future-proof for other metrics. * Show tooltip popup containing changelist/sha data when mouse hovers over associated source line. (Enables easier issue debugging and culprit assignment.) * More directory separator fixes - mainly for windows portability. * DOCUMENTATION: fix/clarifify BRDA record format description. * Correct description of BRDA record format. * Emit error from genhtml unless annotation script is successful for at least one source file. Add flock to p4annotate script to avoid interleaving/overwrite from parallel children. * Keep track of used/unused include/exclude/subst patterns from child processes. * Bugfix: handle pattern containing spaces. * Refactor: simplify branch accounting * When aggregating data, do not merge branch blocks unless the branch count is the same and branch expressions are identical. Attempt to retain distinct blocks in input data - even if they might match blocks in merged data. * Suppress \'summary\' title unless category is enabled. * CLEANUP: remove unused decls, clean up README spacing. * BUGFIX: consistent treatment of branch/block counts * DOCUMENTATION: clarify use of \'--omit-lines\' vs \'--rc lcov_excl_line=...\' * Increment default version (user local installs will be a bit more obvious in error reporting). * man: Formatting changes * man: Fix lcovrc warnings * More path separator generalization for *nix/windows. * lcov: Finalize release 2.0 * Use ignorable error for inconsistent function end line assignment. * Modify function end line assignment flow to avoid premature checking. * Fix various issues which occur with older gcc versions which don\'t natively support function end line reporting. Tested with gcc 4.8.5, 5.2.0, 6.2.0, 10.2.0 * Add more location information to error message. * genhtml: Fix warning * lcov.spec: Make RPMs more compatible * lcov: Fix --rc precedence for deprecated options * genhtml: Rename file table coverage subheading * lcov.spec: Do not export lcov Perl modules * Makefile: Fix grep warning * tests: Fix test fails due to warning message changes * lcov: Make warning messages more consistent * geninfo: Fix \'no data generated\' warning * Use W3CDTF module if available - fall back to local implementation if not there. * Clean up \'not single merged output file\' case. Don\'t bother to dump or restore child data. * genhtml: Remove use of W3CDTF module * geninfo: Handle child process errors consistently * geninfo: Fix warning * geninfo: Revert geninfo default behavior * Use stable HTML tag order in table header (issue #216) * geninfo: Remove leftover die statement * geninfo: Fix extension mismatch error message * geninfo: Fix intermediate gcov format handling * FUNCTIONALITY: option to allow user to set split character * Modify \'cpp_demangle\' callback options to use \"-Xlinker\' list append behaviour - to make consistent with other callback arguments. \"--demangle-cpp\" parameter is optional, and defaults to \"c++filt\" if not specified. * genhtml: Remove coverage results from description page * MERGE: merge PR #67. Original commit message: * genhtml: Fix file view TLA link style * genhtml: Various invalid HTML fixes * genhtml: Fix anchor IDs * Add \'callback\' error category. (Rerunning \'checksytle\' also changed formating) * genhtml: Fix css errors * genhtml: Fix TLA header background * genhtml: Improve differential coverage TLA text * Change code which is problematic on Windows. * man: Improve geninfo man page * Portability: different compiler may put coverpoint on close brace. * spreadsheet.py: Fix typo * Enable RC override of source code exclusion markers. See PR #140 for some motivation. (Reimplemented after major code restructure.) * auto-reformat of fix.pl script (mixed with other commits) * Clarify order-of-processing nondeterminism for --prune-tests option. * genhtml: Add usage text for --new-file-as-baseline * lcov: Add missing options to usage text * lcov: Usage text fixes and rewording * lcov: Move project URL reference to man page * lcov: Reorder options in usage text * Add \'trivial function\' filter: remove function which has empty body. * man: Improve lcov --map-functions description * Documentation fixes: description of \'--hierarchical\', various typos. * man: Improve lcov --prune-tests description * lcov: Make error message handling more consistent * fix.pl: Update script install locations in man pages * man: Rework genhtml man page * man: Consolidate version script text * Enable more sophisticated coverage criteria callbacks. Add config file options to retrict criteria callback to user-specified level and to pass date and/or owner bin data to callback. * component: Fixed incorrect genhtml man description. (#213) * Refactor to move common RC and command line processing to library routine. This makes it easier to add or remove options uniformly in future. Rename some common RC options which are used by all the lcov tools and add a \'deprecated\' warning if obsoleted options are detected. * man: Reformat negative count reference * man: Cleanup of some errors * Fix bug in \'info\' print * Use more precompiled regexps to improve runtime performance. Any trick worth doing, is worth doing twice. * lcov: Improve data collection performance * More diagnostics if \"can\'t happen\" parallelism errors occur. Try to exit (more) cleanly in case of fatal error. * geninfo: Fix external source file handling * Add test for close brace filtering * FUNCTIONALITY: derive function end line if not reported by gcov tool - with RC option to disable the derivation (in case something goes wrong). End lines make function exclusion more useful. * Cleanup: fix spacing, remove accidentally duplicated code, etc * Better message for annotation callback failures. Add annotation callback failure tests. * PORTABILITY: MacOS \'install\' needs \'-m\' before filenames * lcov: Unclutter error and warn messages * geninfo: Enable relative paths for --gcov-tool * geninfo: Replace use of \'which\' tool * Makefile: Implement consistent pretty-printing * tests: Improve tests * editorconfig: Fix tab setting for .mak files * Makefile: Improve make clean/test output * updateversion.pl: Rename to fix.pl * updateversion.pl: Rework post-install fixup * Makefile: Fix missing dot files in tar.gz * Makefile: Use subdirectory for library path * Makefile: Simplify Perl module installation * Makefile: Fix library file permissions * get_version.sh: Remove leading \'v\' character from version * lcov.spec: Update RPM description * install: Remove install.sh script * install.sh: Move Perl interpreter fixup code * lcov: Enable running lcov via symbolic link * Enable \'synthesize-missing\' if annotatte script fails (e.g., file is missing) - when annotation errors are ignored. The use case is motivated by some generated files in the LLVM build which otherwise cause annotation to break. (Easier to modify genhtml than to train the build system.) * Feature to save more data for easier post-facto debugging of user issues. * Record tool command line and some user environment data - to enable easier post-facto debug of customer issues. * BUGFIX: handle fork() failure case * BUGFIX: verbosity/debug flag setting. * Exception branch handling: add location to mismatch warning, remove lone branch after filtering * Performance fix: no need for c++filt * Clarify man page, clean up testcases * BUGFIX: \'dark mode\' palette. * FUNCTIONALITY: add source layout controls for owner and age column width. * BUGFIX: annotate script fix + doc update * Forgot to run \'checkstyle\' * FUNCTIONALITY: support list of \'--build-directory\'. This is useful when common libraries (shared between teams) are compiled in different locations - to the .gcno files are not in a single location. * FUNCTIONALITY: better handling of long \'owner\' names. Don\'t remove the domain by default (user can do that in annotate script, if desired). * set execute bit on testcase scripts * FUNCTIONALITY: support case insensitive file pathnames * FUNCTIONALITY: support exception branch exclusion in genhtml and lcov (as well as geninfo) * BUGFIX: set execute bit * BUGFIX: line-specific exclusion directives * FUNCTIONALITY: record exception branches * verbosity controls for geninfo debug logging * PORTABILITY: modify tests to run with gcc < v9 and gcc >= v10 * BUGFIX: function end-line recording for gcc < 9 * BUGFIX: typo in error message * DOCUMENTATION: clarification + fix typos * Enable verbose print of RC option processing - to aid user configuration debugging. * If set, use $ENV{SOURCE_DATE_EPOCH} to compute file age (for date bin) - otherwise, use \'now\' (when report is generated). * Improved handling of relative paths in .info files. This is useful in the case that the source code, build directory, and coverage data are all in different locations (e.g., with linked builds and GCOV_PREFIX). * Warn if we are using a known-to-be-slow JSON module. * BUGFIX: change dir out of tempdir as soon as possible - to avoid issue of trying to remove tempdir while process is still there. This can happen if an error occurs while working in the tempdir - e.g. inconsistent coverage data. * Fix initial capture bug - case that we have compile time data (.gcno file) but no runtime data (no .gcda files). * Fix handling of Java code. Don\'t complain about missing source if we aren\'t doing anything with the file (no source view, not checking version, not trying to annotate). * Add \'geninfo --build-directory build_dir\' option to handle the case when .gcda and .gcno files (run- and compile-time data, respectively) are not in the same directory. This happens when we use the gcc/llvm \"GCOV_PREFIX\" and \"GCOV_PREFIX_STRIP\" options to redirect runtime data. See testcase .../tests/lcov/extract/extract.sh for one potential use model. * Simplify differential categorization function: We only care about - and only display - total coverage over all testcases. We don\'t look at per-testcase changes. * Handle command line override of list-like RC parameters. Parameter value should be appended to list when it appears multiple times. * Portability fixes for callbacks: better handling of embedded spaces. * Add \'py2lcov\' script to translate from Coverage.py XML to lcov format. This enables a unified coverage report for projects containing both C/C++ code and Python. See \"py2lcov --help\" as well as https://coverage.readthedocs.io. * Modify genhtml \'annotate\', \'criteria\' and \'version\' and for geninfo \'gcov-tool\' callbacks to use an approach similar to \'gcc -Xlinker\': concatentate supplied parameters when callback is executed. For example: lcov --capture --gcov-tool llvm-cov --gcov-tool gcov -o llvm.info -d . will execute callback \'llvm-cov gcov filename\' for each capture. * Update missed changes to documentation. * BUGFIX: handle relative path in \'gitblame\' script. * Option to show all differential categories in header table summary while still suppressing zero columns in coverage detail table. Option is currently disabled: Showing all categories in table header might be somewhat useful documentation - but verbose/noisy output is hard to use. For the moment, err on the side of readability. * Add configuration option for line-specific \'high\' and \'medium\' coverage thresholds. Slightly modified and updated from PR #163. * Bugfix: reversed order of callback parameters. * BUGFIX: gcc/4.8.3 support. * Handle case that gcov claims that some line is covered but contains an \'unexecuted_block\': set count to zero if there are no branches associated with the line. Behaviour is controlled by config variable \"geninfo_unexecuted_block\". Default is to not adjust the count. * Add \"Dependencies\" section to README - to tell users which other packages may be required, and how to install them. * Add \"--flat\" display option to genhtml: list all files in top-level of two-level HTML (rather than the default 3-level top/source directory/source file view, or the \'hiearchical\' view which follows source code layout). * Add \'--forget-test-names\' option to lcov and genhtml. This may improve performance and reduce memory footprint when user does not need a per-testcase coverage summary. Feature means that user does not need to generate two sets of data: one with and one without names. * Suppress differential coverage table columns whose entries are all zero. Goal is to improve readability, especially for mature development projects which have very few unexercised coverpoints. Add \"genhtml --show-zero-columns\" option to disable suppression. * BUGFIX: don\'t complain about synthesizing fake file content if \"--no-sourceview\" * Missed some error diagnostics - e.g., when \'open\' fails * Exclude .git and *~ files from `make check` (#179) * Enable argument passing from Makefile to test script. Primary use is to collect testcase coverage data via Devel::Cover. Sample usage: make COVERAGE=1 ARGS=--keep-going test * Enable exclusion of coverpoints within function body (line, branch, and the function itself) - controlled by a new \"--erase-function regexp\" option. Option is called \"--erase-function\" so as to not conflict with \"--exclude\", which had already been claimed for file exclusions via glob patterns. * Add \'genhtml --debug\' option (mostly for script debugging) Fix handling of inconsistent branch data. * Use File::Path::make_path utility rather than system(\"mkdir -p...\"). More portable and better error diagnostics. * Add checks for incompatible configuration: text mode for gcc version >= 9, \"no_external\" outside of \'lcov --capture\' * FUNCTIONALITY: support demangling in geninfo FUNCTIONALITY: add more context to spreadsheet BUGFIX: check external tool return codes, fix lcov URL. * Make test harness more portable (#178) * BUGFIX: handle negative count for line/branch/function - sometimes generated by llvm. Suppress function coverpoints in excluded region. Avoid potential conflict in geninfo parallel execution. Handle gcda and gcov filenames with leading \'.\' in name. * More geninfo profiling + spreadsheet enhancements. * Update \'CONTRIBUTING\' goals and requirements, clarify install method, fix doc typos. * Enhance spreadsheet generation (for performance investigation) * Bugfix: may see undef data from .gcda file processing - e.g., if an error occurred. * Add feature to suppress additional messages after threshold is excceeded. If user is not going to fix the first N messages, then there is no point to reporting more. * FUNCTIONALITY: use binary intermediate form for geninfo \'extract\' - to improve CPU performance and to eliminate copy-paste/redundant code. Side effect is to make \'checksum\' a generic feature of geninfo/lcov/genhtml. * lcov: Major functional update * lcov: Remove extra string concatentations * lcov: Apply preferred coding style * lcov: Add coding style helpers * Fri May 26 2023 Miklos Vajna - 2.0- Update to version 2.0: * Support for differential coverage analysis * Support for annotation of reports with date and owner information (\"binning\") * Support for data filtering to remove artifacts such as exception branches * Improved HTML navigation and display features * Improved performance via parallelism * Improved error checking and error management. * Wed Jun 15 2022 mliskaAATTsuse.cz- Update to version 1.16+git.20220603.dfeb750: * lcov: Finalize release 1.16 * Makefile: Create make target for creating release tags * lcov: Update website links * geninfo: Fix handling of source path containing non-ASCII characters * geninfo: support remove CR endings of old intermediate text * lcov: Add file attributes for shell scripts * genhtml: Add option to change HTML footer text * genhtml: Add option to change HTML header text * genpng: Improve dark-mode support * lcov: quote tool_dir to enable paths with spaces. * lcov: Improve JSON module selection * lcov: Make JSON module configurable * Fix genhtml on macOS * genhtml/genpng/lcov: add missing rc support and man page entries * Add a dark mode option * example: Fix example relying on undefined behavior * lcov: add a new --fail-under-lines option * lcov: Finalize release 1.15 * Makefile: Reduce unnecessary meta-data in tar and RPM files * geninfo: Add workaround for MSYS GCC problem * geninfo: Change json module * geninfo: Fix warning due to non-numerical branch count * geninfo: Fix missing check for unterminated exclusion marker * Exclusion of exception branches * genhtml: Fix applying prefix to a prefix filename * genhtml: Add more demangler options * tests: Minor improvements * Thu Jan 13 2022 Federico Mena Quintero - Add dependency on findutils, as lcov\'s scripts use find(1) to locate various files in the user\'s build directories. bsc#1194671 * Fri Oct 23 2020 Martin Liška - Fix output of --version option. * Wed Aug 12 2020 mliskaAATTsuse.cz- Update to version 1.15+git.20200812.d100e6c: * lcov: Finalize release 1.15 * Makefile: Reduce unnecessary meta-data in tar and RPM files * geninfo: Add workaround for MSYS GCC problem * geninfo: Change json module * geninfo: Fix warning due to non-numerical branch count * geninfo: Fix missing check for unterminated exclusion marker * Exclusion of exception branches * genhtml: Fix applying prefix to a prefix filename * genhtml: Add more demangler options * tests: Minor improvements * tests: Minor test improvements * man: Add clarification regarding file patterns * geninfo: Change gzip decompression module * Fixed processing GCOV intermediate format. * Mon Jul 27 2020 Miklos Vajna - Remove no longer needed kernel-coverage conflict (bsc#1078447)
|
|
|