cppcheck tests was failing because relative paths was converted to absolute paths too much in warning messages.
The specification from danmar/cppcheck#7554 (comment) :
A path (both for (1) top-level source files and (2) header files - i.e. files that are introduced by #include) will be absolute if and only if at least one of the condition is true:
- The top-level source file (for headers it is the one that includes it) is given as an input file to simplecpp in its absolute form, except for the case that this is a header file that its inclusion was resolved by inclusion dirs (i.e. -I) - and this condition is false in that latter case (note that sometimes condition 3 can be true in that case, resulting in absolute flavor).
- For header files only that are not system includes(i.e. #include "..."): The include path is absolute.
- For header files that were resolved by inclusion dirs (i.e. -I): The resolved inclusion dir is absolute.
Whenever the same file is introduced twice or more, only the first occurrence that simplecpp sees will determine the absoluteness flavor.