simplecov
simplecov copied to clipboard
Add method coverage support
See #782. Also addresses #801 and #916. Support for HTML formatter can be found here: https://github.com/simplecov-ruby/simplecov-html/pull/110.
Some notes:
- I had to rework how coverage is parsed/unparsed (see
ResultSerializationmodule). - Because of that, I had to revert some of
ResultMergeroptimizations :( Now it's operatingResultobjects, however it still parses and merges files one be one. - Coverage is now always stored in memory in symbolized form (
lines: []instead of"lines" => []), just the same way you get it when calling Ruby'sCoverage.result. Because of that, a lot of specs were updated. - Sometimes method owner includes memory address (e.g. when method is called on anonymous class). This makes merging results from different CI jobs problematic, so we replace memory addresses with zero address
0x0000000000000000. -
adapt_pre_simplecov_0_18_resultlogic was moved toResultSerialization.deserialize. Also old-style branch info is supported (evalis still used for that).
All this stuff has been battle-tested on a couple of big projects, some of which merge results of multiple CI jobs.
@PragTob hope you will find some time to review the changes.
Hey @PragTob, maybe you can take a look now?
@PragTob ping!
@PragTob ping!