bcoe / bcoe/v8-coverage-merge

Correctness issues

Open
#7 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
7
Forks
4
PR merge metrics
No merged PRs in 30d

Description

The lib currently produces incorrect results.
I am still looking into it but here are two examples:

- See [this gist](https://gist.github.com/demurgos/dc0ea1c6d8d0aa391f5599f63c3b59db). Merging `input.json` with itself should simply double the counts. Instead, it returns `output.json`.

- The library uses function names as cache keys, but there are no guarantees about the names: they can be empty strings or duplicated. It causes the lib to try to merge [this closure](https://github.com/nodejs/node/blob/085dcf0e59fe8c16370a553dbc8c4b792b5d3f68/lib/internal/process/stdio.js#L28) with [this one](https://github.com/nodejs/node/blob/085dcf0e59fe8c16370a553dbc8c4b792b5d3f68/lib/internal/process/stdio.js#L43) because the coverage gives them both the name `process.on`.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the two examples from the linked gist and inspect how the library merges the referenced input.json and output.json coverage reports. Trace how function names are used as cache keys, including the two Node.js stdio closures, and verify that the incorrect merged results and function collisions are resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
testing-qa, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.