1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835
|
Kcov (43):
* docker: Build for multiple architectures with modern debian +
alpine Linux (William Desportes)
* output: Add --dump-summary to get JSON output on stdout
* tests: Update to modern Python and refactor code (Manilo Perillo)
* configuration: Improve positional argument handling (Manilo Perillo)
* FreeBSD: Don't use RLIMIT_NOFILE for bash
* python: Remove deprecated code for the helper (Manilo Perillo)
* ci: Repair builds, upgrade to newer distributions (William Desportes, Shail
Patel)
* cobertura-writer: Use unique class name for newer Jenkins plugins
* Issue #408: MacOS: Support GO binaries (myzhan)
* cmake: Correct FindXXX package names
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Tue Jul 23 20:30:40 CEST 2024
Kcov (42):
* Issue #317: Correct handling of large amounts of solib data (Steven Lu)
* Issue #399: Support for the LoongArch architecture (Feiyang Chen)
* Issue #397: Correct symlinks if the out-directory is a relative path (Hanaasagi)
* OSX: Replace the lldb-engine/parser with a macho-parser and a mach-engine
for improved performance (~20x) (Simon Kagstrom)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Fri Aug 18 20:38:38 CEST 2023
Kcov (41):
* Output the codecov file format (Nate Gallaher)
* Fix handling of symlinks (Rick Poyner)
* Add support for RISC-V (rvalue)
* Fix gcc-13 build (Sergei Trofimovich)
* Correct the license for Debian (Rui Chen)
* Add --cobertura-only output option
* Fix build with binutils >= 2.39 (oreo639)
* Clear BFD state between files to avoid breakpoint trashing atomic
instructions (Andy Caldwell)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Thu Feb 23 13:52:46 CET 2023
Kcov (40):
* Make libbfd non-required to avoid GPLv3
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sat Dec 18 09:25:21 CET 2021
Kcov (39):
* Issue #366: Allow an address to map to multiple lines in the binary
(Richard Whitehouse)
* Issue #314: Correct abort signal return value (David Steele)
* Issue #353: Escape json URLs
* Issue #339: Match ELF perfect if it has the ELF magic
* Issue #342: Correct --collect-only, --report-only on non-identical
machines
* Issue #334, #347: Auto build via github actions (Tom Shaver)
* Issue #333: Allow regex in --replace-src-path (Matteo Cattani)
* Issue #331: bash: Set PS4 in bash_helper for modern bashes to allow root
usage (Orycterope)
* Issue #327: Fix --merge with two --collect-only runs
* Issue #325: bash: Add --bash-tracefd-cloexec to avoid leaking trace fd
to children (Damien Ciabrini)
* Issue #323: bash: Drain stdout when on xtrace-fd (Damien Ciabrini)
* Issue #322: Make kcov conan-ready (David Tazy)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Wed Nov 10 20:55:31 CET 2021
Kcov (38):
* Issue #267: Fix hang on Aarch64 (Julian Stecklina)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Fri Jan 17 12:10:17 CET 2020
Kcov (37):
* Issue #312: Avoid unaligned access warnings for merged data
(Didri Boukelmoune)
* Issue #309: Correct encoding for non-english charsets (Zhenwei Ding)
* Issues #307, #308: Python 3 cleanup (Didri Boukelmoune)
* Issue #304: Bash: Correct PS4 parsing (Koichi Nakashima)
* Issues #295, #296: Comply with Cobertura coverage-04.dtd (Arnaud Botella)
* Issues #292, #294 : bash: Correct peek_file, xtrace-fd handling (kimkim19642004)
* Issues #282, #286, #287 Lots of build system fixes (Jamie Snape,
Akos Somfai)
* Issue #285: Cobertura schema fixed
* Issue #279: Rust: #[should_panic] files are now ignored
* Issue #274: Automated docker builds (Manuel Mendez)
* Issues #268, #310: A Debian packate file has been added (Paul Dreik)
* Issue #190: Code style changed to K&R
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Tue Oct 1 09:14:07 CEST 2019
Kcov (36):
* Issue #253: Kcov has been ported to FreeBSD (Alan Somers)
* Issue #243: ptrace build fixes (Leo Gaspard)
* Issue #245: Major cmake build system fixes (Jamie Snape)
* Issue #250: Improve checks for Python command
* Issue #259: Use --include-pattern in merge mode
* Issue #166: Fix make-based builds on OSX
* Issue #157: OSX now supports covering shared libraries
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Thu Aug 23 12:46:49 CEST 2018
Kcov (35):
* Issue #240: Allow running on systems with > 32/64 CPUs
(Alexandra Ghecenco)
* Issue #178: Fix build for Aarch64 (Dridi Boukelmoune)
* Issue #223: Add --clean to make turn off accumulation
* Issue #224: Show uncovered scripts in bash reports
* Only build the system daemon if libelf isn't available
* Issue #208: Allow covering multiple binaries with the same name
in the same report
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Thu Apr 19 20:22:30 CEST 2018
Kcov (34):
* Issue #215: Correct build with binutils >= 2.29
* Issue #216: Don't use SIGUNUSED (Dridi Boukelmoune)
* Issue #211: Avoid blocking bash write (Mike Bland)
* Issue #198: Correct skipped breakpoint count
* Issue #92: kcov can now perform full-system instrumentation via a
daemon and statically instrumented binaries
* Issue #193: Handle all available bash output (Ashley Straw)
* Issue #187: Fix crash regression due to address verifier changes
* Issue #166, Issue #209: Describe workaround for OSX build problems
* Issue #183: python: Quote argument strings to avoid argv issues (Bashkar Rana)
* Unit tests build again
* Issue #165: bash: Provide basic parser mode to workaround bugs in the
parser
* Issue #178: Port to AArch64 (though untested!)
* Issue #180: kcov now honors LCOV_EXCL_LINE/START/STOP, so that regions of
code can be excluded from the report. Command-line options can also set
custom patterns (Me, Keith Wansbrough)
* Issue #175: kcov can now ignore unreachable lines (Thomas Neumann)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sun Sep 10 13:11:34 CEST 2017
Kcov (33):
* Issue #167: Writers: Add pure JSON writer for gitlabCI (http://gitlab.com)
integration (Bryce Fisher-Fleig)
* Issue #162: Use Xcode build in addtion to Make for Travis
* Issue #163: Correct attaching to processes which create threads (ptrace)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Fri Jan 13 09:59:53 CET 2017
Kcov (32):
* Issue #135: Covering binaries on OSX is now possible as well!
* Issue #114, Issue #150, Kcov also works with codecov without changes!
* Issue #152, Issue #154: bash: Correct handling heredoc special cases
* Re-enable coverity for Travis CI builds again
* Issue #148: Correct handling of PTRACE events (Niklas Ă–gren)
* Issue #139: Create kcov-solib.pipe in a tempdir if out-dir is unfifoable
* Issue #141: Make [merged] name configurable via --configure
* Issue #138: Allow setting a different css file via --configure
* Issue #140: Allow specifying command name via --configure
* Issue #144: Allow setting configuration options manually with --configure
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Tue Nov 22 12:32:41 CET 2016
Kcov (31):
* Exit with 0 when running --version (Pietro Monteiro)
* travis: Run regression tests on OS X as well
* Issue #130: bash: Correct handling of data accumulation with absolute paths
* Issue #127: Add output support for the SonarQube coverage plugin
* Refactor travis tests to use pyunit instead of Robot Framework
* Allow --repace-src when running with --merge
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sun Apr 17 09:42:12 CEST 2016
Kcov (30):
* Issue #121: Add --version to display the current kcov version
* Issue #119: Allow merged output to serve as input to another merge
session
* Issue #21: Allow builds on Mac OSX as well (Python and Bash only)
* Issue #122: Fix memory leak when adding shared libraries (jba31)
* Issue #118: Correct merging of reports collected on another machine
* Issue #116/#117: bash: Correct corner-cases for herecdocs and arithmetic
(Phil Whineray)
* Fix various spelling errors (Veres Lajos)
* Issue #110: Correct handling of vfork()
* --pid= requires an executable, actually say that as well (Vincent Gibert)
* Issue #105: Warn about --verify without binutils
* Issue #104: Correct handling of shared libraries with build-id debug
information
* Fix --skip-solibs handling
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Fri Nov 27 06:51:40 CET 2015
kcov (29):
* Tagged v28 by mistake :-)
Kcov (28):
* Don't report each invalid breakpoint on --verify (give a summary instead)
* Issue #103: html: Display error message if JavaScript is disabled in
the browser
* Issue #101: Fix regression which caused --collect-only to work only
if the source code was available.
* Coveralls: Use source_digest instead of source (current API?)
* Issue #99: Add support for looking up debug info from .gnu_debuglink
sections (Vincent Brillault)
* Issue #98: Show execution order in the HTML output and add headings for
the source view
* Issue #26: Don't warn for non-existing ELFs (typically linux-vdso.so.1)
* Issue #91: Correctly generate [merged] output after running two programs
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sat Jul 4 05:16:21 CEST 2015
Kcov (27):
* Issue #90: coveralls: Publish merged results if available
* Issue #88: bash: Correct handling of ${var#}
* Issue #87: Allow coveralls uploads when using --merge (Ricardo Martins)
* Issue #86: Fix build on distros with Python 3 as default (David Barnett)
* python: Improve handling of some corner-cases for '''-strings
* Issue #76: bash: Handle multi-line quoted strings
* Issue #60: Add --merge option to merge output of multiple runs (i.e.,
what the kcov-merge script did, but now integrated)
* Issue #81: Make --include-path= combined with --include-pattern=
coexist more naturally (i.e., consider both)
* Lookup realpath of the paths passed to --include/exclude-path=
* Issue #18: Add --verify option that checks that all breakpoints are
set on proper addresses (i.e., instruction boundaries)
* Issue #80: Fix coverage accumulation for PIE executables
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Fri May 1 19:44:04 CEST 2015
Kcov (26):
* Issue #77: Collect coverage for Position-Independent Executables
(Kang Seonghoon)
* Issue #72: Don't crash on filenames <3 characters long (Kang Seonghoon)
* Issue #71: Don't skip instructions on SIGSTOP (unbreaks PowerPC)
* Issue #70: bash: Handle $# ad ${#var ..} (not comments)
* Issue #66: bash: Unbreak handling of arithmetic shifts (conflict with
heredocs)
* Issue #65: merge-parser: Don't panic on non-existing files (e.g., if moved)
* Issue #64: bash: Always parse the file given on the command line
* Issue #63: bash: Correct check for empty braces
* Issue #62: bash: Check for balenced parenthesis (e.g., in cases)
* Issue #51: bash: Collect coverage for #!/bin/sh executables via preloading
(off by default)
* bash: Add ability to use DEBUG trap instead of PS4 (off by default, not
stable)
* Unbreak accumulation (for certain programs)
* Fix hanging regression introduced in v23 (don't take solib semaphore
before open/read)
* Report file-not-found or file-not-executable errors more clearly
* Issue #61: bash-engine: Output trace data via BASH_XTRACEFD when possible
(bash >= 4.2) and filter stdout to catch redirections otherwise
* Issue #58: Lookup program in $PATH if it's not given on the command line
* Issue #57: bash-engine: Correct handling of quoted multiline variables
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Tue Mar 17 19:16:46 CET 2015
Kcov (25):
* Make database files smaller by storing only executed addresses
* Issue #52: Don't include bash-helper.sh in the output
* Issue #54: Implement handling of coverage accumulation for shared
libraries
* Issue #50: Make sure that Bash "heredoc" markers are words
* Fix some failure handling coverity errors
* Issue #49 (WIP): Implement broken gcov engine (multiple issues still pending)
* Refactor configuration handling to be more generic (avoid setters,
use key/value pairs via strings instead)
* Add "capabilities" class to make parts of the implementation clearer
* HTML-writer: Correct off-by-one access to static data
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Tue Feb 10 19:38:04 CET 2015
Kcov (24):
* Misc performance improvements here and there
* Build: Use the travis-ci.org build service to make tests more
reliable.
* Unbreak Python and Bash coverage collection on 32-bit builds
* Correct clang build (well, in Fedora 20 it still fails)
* Issue #43: Clarify elfutils dependency
* Issue #46: Add support for uploading to coveralls.io via the
--coveralls-id=<travis-id-or-repo_token> option
* Issue #45: Bash: Fix coverage collection when executing sub-scripts as
programs.
* Issue #31: Fix handling of attaching to pid in a multithreaded process.
Implementation taken from GDB: kcov now loops through all threads in
a process and attaches to each one.
* Issue #44: Bash: Fix issues with <<< redirection, which were parsed
as here documents
* Update the HTML/Cobertura output to display single-shot, limited and
unlimited output in a logical way
* Allow three hit modes for parsers/engines: Single-shot (covered or not,
as in the merge parser), limited (as in ptrace) and unlimited (line
execution count used in Python/Bash)
* Remove some ptrace-specific stuff from the Engine interface
* Document classes better
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Mon Jan 5 09:46:29 CET 2015
Kcov (23):
* Correct use-after-free case when the solib thread is killed
* Default to 5s output interval to avoid costly write-to-disk sessions
too often
* Performance improvements for the Cobertura writer by reducing the amount
of string operations
* Add a kcov-merge command which merges data from multiple kcov
directories into a single report (Chris Love)
* Issue #39: Reduce the amount of extra output files by using filename
as a tie breaker instead of file data.
* Issue #38: Fix several bugs which caused merged output to miss data
present in the regular output
* Issue #37: Correct coverage accumulation for Python/bash
* Issue #36: Collect coverage from dlopen:ed libraries (through unconditional
breakpoints in the dlopen call). Should also improve reliability of
general shared library coverage collection
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Tue Dec 2 20:42:04 CET 2014
Kcov (22):
* Issue #35: Support installation RPATH for build (Chris Love)
* Issue #32: Fix problems when running Python unittest modules
* Various coverity resource leak fixes
* Peek into files to improve performance for matching (also see Issue #33)
* Break out solib handling from ptrace (not really related)
* Improve ptrace performance a bit, while also simplifying code
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Wed Oct 29 12:58:18 CET 2014
Kcov (21):
* Fix regression for coverage-of-32-bit-binaries-on-64-bit-systems introduced
in kcov 20
* Slightly better file stat caching (slight performance improvement)
* Avoid outputting merged cobertura output for single coverage runs
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Thu Aug 7 20:00:20 CEST 2014
Kcov (20):
* Issue #25: Fix starvation bug where long report generation time could starve
the actual application. The bug was caused by a timestamp issue.
* Issue #18: Provide explanation and possible workaround for SIGILL problems
with GCC 4.1.2
* Issue #23: Warn if a binary has no debug symbols
* Replace std::list/std::map with std::list/std::unordered_map where possible
(slight performance improvement)
* Remove C++11 constructs (auto, nullptr, range-based for-loops) to allow
building with older compilers
* Correct bug in --report-only (crash in ptrace upon termination)
* Slight performance improvement and simplification in the lineid code
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Mon Aug 4 12:57:19 CEST 2014
Kcov (19):
* bash coverage: Implemented support for collecting shell script
(sh/bash) coverage! Loosely based on shcov, which is now deprecated
because of this
* html-writer: Correct executable lines/covered lines in the summary
(was wrong in some cases)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Mon Jun 30 18:30:37 CEST 2014
Kcov (18):
* Performance: Improve performance by cacheing realpath()
* HTML: Always put merged results last and don't include them in sorting
* HTML: Coloring improvements (?) of the HTML output
* HTML: Refactor HTML output completely to use javascript-based pages.
This allows selecting how to sort directly from the web page,
and greatly simplifies the generating C++ code
* Correct filtering bug in the merged output, where the last
run would filter out data from the previous runs
* Issue #20: Fix hanging-on-killed-by-signal
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Mon Jun 9 19:12:38 CEST 2014
Kcov (17):
* Issue #19: Fix bug where kcov would let children which called
setpgid live even after terminating kcov itself (Oliver)
* Issue #16: Output: Implement a merged mode, which shows a
combination of all covered programs under the [merged] link
* Fix an HTML output bug introduced in kcov 14 where the summary
counts in the index page would be wrong.
* Issue #15: Fix a crash when source lines are > ~2000 characters long
* Issue #17: Fix parsing of multiple include/exclude patterns
(Jamie Kirkpatrick)
* Split usage in common/uncommon options
* Improve unit tests and robot framework tests
* Various work on the kernel-engine and general refactoring
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sun May 18 19:24:14 CEST 2014
Kcov (16):
* kernel-engine: Implement an engine to handle kernel code coverage
collection (not finished)
* kprobe-coverage: Refactor the kernel module so that it basically
works now
* Code refactoring and more C++11-izing
* Python: Filter out some false negatives (i.e., non-executable
lines marked as red)
* Python: Report absolute paths so that output filtering works
* Python: Catch exceptions in the python helper to avoid EOF etc
being propagated upwards (and coverage collection to fail)
* Python: Fix a case where the engine would simply hang on waiting
for more data
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Fri Mar 21 16:38:28 CET 2014
Kcov (15):
* Workaround a shared-library issue where kcov would sometimes hang on
the malloc. The workaround uses a static memory buffer instead.
* Implemented support for collecting Python code coverage! Usage is the
same as for compiled code.
* Code-restructuring to allow multiple "engines", which makes it possible
to add the python support above.
* More C++11-izing of the code
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sun Mar 2 10:50:00 CET 2014
Kcov (14):
* Add two options, --collect-only and --report-only to only collect
coverage and produce Cobertura/HTML output respectively. Can be
used for example on embedded systems where the source code isn't
available.
* PowerPC support has been added (thanks to Aleksandr Vilchinskii and
Konstantin Polivtsev for testing this)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Wed Feb 5 19:42:03 CET 2014
Kcov (13):
* Don't hang the kcov main process if a breakpoint comes in
before the solib handler constructor has executed (depends on
the construction order)
* Correct bug with realloc in solib handling (malloc all
data once only)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sun Dec 8 19:34:37 CET 2013
Kcov (12):
* Fix lockup bug in the solib code path (where processes with
many solibs would hang at startup)
* Correct a crash in the reporter
* Add test case for signals
* Report from main thread to avoid threading issues
* Fairly major refactoring of ptrace code to avoid an issue
where two PTRACE_CONTINUE calls could be done without
waitpid() in between. This would cause crashes in the
traced program.
* Add support for looking for debug info in separate files
via build-id (Alexander Larsson)
* Add --exit-first-process option to fork kcov when covering
daemons (otherwise kcov will wait for all children to finish)
* Add --skip-solibs option to disable processing of shared
libraries, which also works around a bug which sometimes
triggers
* Add --replace-source-path option for cases where the sources
have been moved (James Warner)
* Fix linking (Igor Murzov)
* Some build fixes to make it build with clang++
* Fix various warnings
* Add experimental profiler based on kcov
* Add sorting by reverse-percent (high -> low, -u option)
* Cache non-existing files to avoid doing lstat calls all the
time (slight performance improvement)
* closedir() was not called from the html-writer, which creates
a resource leak (Karl Vogel)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sat Oct 19 11:06:42 CEST 2013
Kcov (11):
* Fix handling of common paths in HTML writer
* Fix bug in shared library handling where repeated exec()s would
cause strange hangs. Fixed by unsetting the KCOV_SOLIB_PATH environment
variable after the first executable has been started.
Add test-popen test case to check for this.
* Expand ~'s in the --include-path and --exclude-path options
* Unbreak accumulating data from multiple runs again (introduced
sometime during refactoring), and add test case for this
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sat Aug 18 08:45:03 CEST 2012
Kcov (10):
* Fix bug where multiple files with the same name would only be shown
once in the HTML output.
* Fix icache conflict bug (present while instrumenting shared libraries)
on multi-CPU systems by forcing all traced processes to one CPU
* Re-enable the --pid=PID argument to trace a running process again
* Fix race condition in the reporter
* Only set breakpoints in executable sections. This avoids problems where
the DWARF line information points to non-code sections (which can happen)
* Fix coverage reporting of orphaned children (where the parent does not
wait(2) for the child
* Use std::unordered_map for breakpoints (improves performance somewhat)
* Improve unit tests
* Add robot-framework testsuite that can be run from a Jenkins server
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Mon Jul 23 13:28:43 CEST 2012
Kcov (9):
* Completely refactor the source code (yes, everything!), and add
unit tests to verify kcov itself. The code is now in C++.
* Implement transparent coverage instrumentation for shared libraries
(done automatically)
* Implement a Cobertura-compatible XML backend. This allows integrating
kcov coverage information in Jenkins.
* Improve performance a lot by filtering out files already at the
instrumentation step (and not only during HTML generation). This
means that --include-pattern/--include-path can improve kcov performance
by quite a bit.
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Fri Jun 15 17:39:17 CEST 2012
Kcov (8):
* Import the man-page from Debian and update it.
* Simplify parts of the ptrace code
* Correct the sorting of files-by-percentage when the difference
is less than 0.5% (thanks Martin!).
* Correct the percentage-bar color according to the configured
limits in the report.
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sun Dec 4 14:13:47 CET 2011
Kcov (7):
* Weed out common parts of source paths from the report, display
the full path as the HTML title= tag
* Fix crash bug in argument passing
* Handle hit count a bit better
-- Simon Kagstrom <simon.kagstrom@gmail.com>, 2011-07-10
Kcov (6):
* Correct hit count. The hit count is no longer over the number of
possible hits
* Better error reporting when stripped or otherwise broken binaries
are passed to kcov
* Handle files with relative directory paths (lookup the absolute
path via DWARF source files). Otherwise, some files are not reported
in the output.
* Add test program to detect regressions
* Detect stripped binaries and report that you'll need to build
with -g
* Correct --include/exclude-path behavior. The previous version
will match PATH*/* instead of just PATH/* (Igor Murzov)
* Various small fixes
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sat Apr 16 08:28:27 CEST 2011
Kcov (5):
* Switch from libdwarf to libdw (from elfutils) for building
kcov. libdw is a bit more logical than libdwarf.
* Implement actual path matching (Igor Murzov)
* Rename path-matching to pattern matching (which is what it does)
and set it up using long options.
* Parse options with getopt
* Don't escape all multibyte characters in the report. That will
break display of UTF-8 etc (Igor Murzov)
* Improve cmake packaging support (Igor Murzov)
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sat Feb 12 15:25:57 CET 2011
Kcov (4):
* Build system is now based on cmake (Igor Murzov)
* Add MIPS32, ARM and PowerPC architecture support. This is untested though
and might very well not work at all.
* Add -t option to set the title of the program to test (otherwise it
will be the filename)
* Refactored the architecture support to allow running i386 programs
on x86_64 machines, and easier add other architectures
* Make it possible to collect coverage from multiple programs in a
single directory, useful for example when running a test suite
* Add coverage color to the header as well
* Misc refactoring
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Tue Dec 7 18:20:28 CET 2010
Kcov (3):
* Various bug fixes
* Add ability to trace running processes by PID
* Fix copyright headers
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sat Nov 13 08:13:03 CET 2010
Kcov (2):
* Misc fixes
* Add ability to specify low/high limits
* Add state saving between runs. Re-starting the same program
will then add to existing coverage instead of starting from
scratch.
* Link to web page in the report
* Add option to sort by percentage or file name
-- Simon Kagstrom <simon.kagstrom@gmail.com>, Sun Oct 24 09:15:39 CEST 2010
Kcov (1):
* Initial release
-- Simon Kagstrom <simon.kagstrom@gmail.com>
|