Skip to content

TST: gcov missing a few files in report #11790

Closed

Description

@tylerjereddy

@pv correctly notes that a few C source files are missing from our coverage report.

Digging through a recent master branch build log, I can see some "warning" style output for gcov of this nature:

./_configtest.gcda:stamp mismatch with notes file
./build/temp.linux-x86_64-3.6/numpy/core/src/dummymodule.gcda:cannot open data file, assuming not executed
./build/temp.linux-x86_64-3.6/numpy/core/src/private/mem_overlap.gcda:stamp mismatch with notes file
./build/temp.linux-x86_64-3.6/numpy/core/src/private/npy_longdouble.gcda:stamp mismatch with notes file
./build/temp.linux-x86_64-3.6/numpy/core/src/private/ufunc_override.gcda:stamp mismatch with notes file
./empty/_configtest.gcda:cannot open data file, assuming not executed

Possible solutions to this issue have been discussed elsewhere & appear related to build / machine time stamps relative to tests.

When I test locally, this is not reproduced; my current idea is to first open a PR that tries one of the simpler solutions -- i.e., using find to recursively touch the generated *.gcda files. I'll first see if I can reproduce the issue locally by touching the *.c and *.gcno files before running gcov recursively so that the timestamps are messed up. It looks like one user reports that touch may not suffice because the timestamp is actually embedded in the gcda files -- I'll have to check this.

Activity

  1. pv commented on Aug 21, 2018

    @pv
    Member

    Maybe it's related to the fact that some files are compiled twice (included both in umath and multiarray).
    If so, gh-10915 should fix it.

  2. tylerjereddy commented on Aug 21, 2018

    @tylerjereddy
    ContributorAuthor

    The issue for npy_longdouble and ufunc_override is apparently resolved by that PR, but mem_overlap problem persists even after that refactor.

  3. tylerjereddy commented on Aug 21, 2018

    @tylerjereddy
    ContributorAuthor

    Redundant include / compilations does seem likely given the partial resolution above though, so that's a hint I can perhaps use to track this down.

  4. mattip commented on Aug 21, 2018

    @mattip
    Member

    mem_overlap.c appears in two places in numpy/core/setup.py, in the merged _multiarray_umath and in _multiarray_tests

  5. tylerjereddy commented on Aug 21, 2018

    @tylerjereddy
    ContributorAuthor

    Yeah, I noticed that

  6. tylerjereddy commented on Aug 21, 2018

    @tylerjereddy
    ContributorAuthor

    Ok, proposed a fix that works locally in that PR for mem_overlap

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions