-
Notifications
You must be signed in to change notification settings - Fork 253
Description
I started getting this error and I'm not sure why...
geninfo: Warning: ('mismatch') mismatched exception tag for id 5, 5: '0' -> '1'
Command executed:
// command used
lcov -c -b . -d . -o report.info --no-external --rc lcov_branch_coverage=1 --filter branch,function
|
V
// Actual command that gives out the error
/usr/bin/geninfo . --output-filename report.info --base-directory . --filter branch,function --no-external --rc lcov_branch_coverage=1 --parallel 1 --memory 0 --branch-coverage
I more or less found the code that is causing this. The issue is the following loop:
for (std::list<flt::ITestable*>::iterator it = this->_tests.begin(); it != this->_tests.end(); it++) {
...
}
Trying to execute lcov even when there is nothing inside the loop causes that error to pop up. When i comment the for the error goes away. This only happens when I have branch coverage enabled.
The weird part is that the for is not on the main.cpp but the mismatch occurs on main.gcda.... Even weirder is that this error occurs even if the code is unreachable...
I'm at a loss and have no idea what could be wrong.... I know I can just use --ignore-errors mismatch
but I'd rather fix the issue. Not sure if by using that flag some information could be discarded or if I get other errors in the future they could be hidden by the flag and those could discard coverage information...