Codecov misreporting coverage

Description

We have two implementations of a type called fd_t - one is a simple RAII wrapper and the other is based around interface inheritance and implementation to allow it to be used more generically at a cost (the vtable). Both are in a header named ‘fd’ - but at different paths in the repo.

These two different versions are also in different namespaces, and are named the same as they’re designed to be drop-in replaceable with each other.

The advanced (vtabled) version shows 100% coverage as we’d expect, however the RAII wrapper version shows very minimal coverage despite having a very similar exhaustive test suite. I suspect codecov is mis-merging the coverage for one as part of the coverage for the other.

I have run lcov locally, and it shows 100% coverage of both versions as we’d expect.

Repository

GitHub - bad-alloc-heavy-industries/substrate: A collection of headers containing useful tools and gadgets for building C++ programs | Codecov

This has now been solved per my re-post.