Skip to content

Mis-configured combine paths produce useless results #608

Closed
@nedbat

Description

$ mkdir code code/sub
$ cat > code/sub/mod.py
print("Hello")
$ cat > .coveragerc
[paths]
source =
  code/sub
  code
$ coverage run --parallel code/sub/mod.py
Hello
$ cat .coverage.dhcp-18-189-21-130.dyn.mit.edu.983.832948
!coverage.py: This is a private format, don't read it directly!{"lines":{"/Users/ned/foo/jbug2/code/sub/mod.py":[1]}}
$ coverage combine
$ cat .coverage
!coverage.py: This is a private format, don't read it directly!{"lines":{"/Users/ned/foo/jbug2/code/sub/sub/mod.py":[1]}}
$ coverage report
code/sub/sub/mod.py   NoSource: No source for code: '/Users/ned/foo/jbug2/code/sub/sub/mod.py'.
Aborting report output, consider using -i.
Name    Stmts   Miss  Cover
---------------------------
No data to report.

The combine paths overlap. This should be an error. In the real situation, the overlap was mistakenly created by having paths with environment variables in them, and one of the variables was empty by mistake.


Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions