Skip to content

--all will create duplicate report entries on win32 #191

@j03m

Description

@j03m
  • Version: 7.0.0
  • Platform: win32

This is a bit of a "canned" issue because it assumes that #183 is fixed upstream. But when testing out my fix istanbuljs/test-exclude#44 I noticed there is an additional path casing issue in c8 related to the implementation of --all.

On windows, using local files it is possible for v8 to generate file names like: d:\path\to\my\file.js
note the lower case drive letter.

But later when find --all files the node api post call to resolve will return the same string paths with a upper case drive letter. This is what originally caused #183.

However, once #183 is fixed and test-exclude's shouldInstrument returns true for case mismatches, this additional mismatch in c8's fileIndex Set which we use to track if a file has been seen causes duplicates in the final report:

For example the output might be as follows:

  file1.js     |       0 |        0 |       0 |       0 | 1-36              
  file1.js     |     100 |      100 |     100 |     100 |                   
  file2.js     |       0 |        0 |       0 |       0 | 1-106             
  file2.js     |   90.57 |   

My current thoughts were to replace fileIndex the Set with an overridden Set that would toLowerCase keys when win32 is detected.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions