Strange "-1" line number in branch coverage output · Issue #469 · nedbat/coveragepy (original) (raw)

Originally reported by Ionel Cristian Mărieș (Bitbucket: ionelmc, GitHub: ionelmc)


This test is a bit strange but humour this scenario:

driver.py

import sys
import os
try:
    from StringIO import StringIO
except ImportError:
    from io import StringIO

import coverage

master_cov = coverage.coverage(branch=True, data_suffix=True)
master_cov.erase()

slave_cov = coverage.coverage(branch=True, data_suffix=True)
slave_cov.start()
import foo
slave_cov.stop()
slave_cov.save()

buff = StringIO()
slave_cov.data.write_fileobj(buff)
print(buff.getvalue())
master_cov.start()
master_cov.data.read_fileobj(StringIO(buff.getvalue()))
master_cov.stop()
master_cov.save()

master_cov.report(show_missing=True)    

foo.py

import sys

idx = 0

if idx == 0:
    pass

Run python driver.py and we get:

!coverage.py: This is a private format, don't read it directly!{"arcs": {"/home/ionel/sandbox/foo.py": [[5, 6], [6, -1], [-1, 1], [1, 3], [3, 5]]}}
Name     Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------
foo.py       4      0      2      1    83%   5->-1

The -1 is rather strange.