forked from SimonKagstrom/kcov
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
835 lines (498 loc) · 25.9 KB
/
ChangeLog
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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, Thu Feb 23 13:52:46 CET 2023
Kcov (40):
* Make libbfd non-required to avoid GPLv3
-- Simon Kagstrom <[email protected]>, 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 <[email protected]>, Wed Nov 10 20:55:31 CET 2021
Kcov (38):
* Issue #267: Fix hang on Aarch64 (Julian Stecklina)
-- Simon Kagstrom <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, 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 <[email protected]>, Sun Oct 24 09:15:39 CEST 2010
Kcov (1):
* Initial release
-- Simon Kagstrom <[email protected]>