Skip to content

Comments

Only process local files with gcov#208

Merged
roconnor-blockstream merged 1 commit intomasterfrom
gcov-fix
Dec 1, 2023
Merged

Only process local files with gcov#208
roconnor-blockstream merged 1 commit intomasterfrom
gcov-fix

Conversation

@roconnor-blockstream
Copy link
Collaborator

The 23.11 release of NixOS has caused GCC to mangle __FILE__ names withing the nix-store. See NixOS/nixpkgs#255192. This causes gcov to fail with file-not-found errors:

(DEBUG) Running gcov: 'gcov /build/source/rsort.gcda --branch-counts --branch-probabilities --demangled-names --hash-filenames --object-directory /build/source' in '/build/source'
(ERROR) GCOV produced the following errors processing /build/source/rsort.gcda:
        Cannot open source file /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.38-27-dev/include/bits/string_fortified.h

To work around this issue we add the --relative-only flag to gcov instucting it to not consider files with absoulte paths, thus excluding header files in the nix-store.

Note: these files were already filtered out by gcovr, so the resulting documentation hasn't really changed.

The 23.11 release of NixOS has caused GCC to mangle __FILE__ names withing the
nix-store.  See <NixOS/nixpkgs#255192>.  This causes
gcov to fail with file-not-found errors:

    (DEBUG) Running gcov: 'gcov /build/source/rsort.gcda --branch-counts --branch-probabilities --demangled-names --hash-filenames --object-directory /build/source' in '/build/source'
    (ERROR) GCOV produced the following errors processing /build/source/rsort.gcda:
            Cannot open source file /nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-2.38-27-dev/include/bits/string_fortified.h

To work around this issue we add the --relative-only flag to gcov instucting it
to not consider files with absoulte paths, thus excluding header files in the nix-store.

Note: these files were already filtered out by gcovr, so the resulting
documentation hasn't really changed.
Copy link
Collaborator

@apoelstra apoelstra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 5dc2acd

Copy link
Contributor

@uncomputable uncomputable left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 5dc2acd nix-build -A c --arg withCoverage true works on NixOS version 23.11.20231129.50aa30a (Tapir)

@roconnor-blockstream roconnor-blockstream merged commit 5dc2acd into master Dec 1, 2023
@roconnor-blockstream roconnor-blockstream deleted the gcov-fix branch December 1, 2023 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants