Supported Coverage Report Formats
Codecov centrally ingests .xml
.json
and .txt
type coverage report formats.
If your language / test suite does not generate one of these format coverage reports, you may need to add a conversion step to your build process.
Generally Supported Code Coverage Formats
Supported code coverage report format types include all test coverage reports we've seen in the wild so far, including:
- Most of .xml format types (Cobertura XML, Jacoco XML, etc.)
- Most of .json format types (Erlang JSON, Elm JSON, etc.)
- Most of .txt format types (Lcov TXT, Gcov TXT, Golang Txt)
See the exhaustive list below
Non-Supported Code Coverage Formats
Non-supported code coverage report format types include:
.xccov
(Xcode)
.ec
.exec
.coverage
(Python)
.html
Exhaustive acceptable report formats
Codecov processes reports server side and accepts report formats we have come across over the years. Below is a list of acceptable coverage report formats.
xml_processors = [
BullseyeProcessor() # [c++] ("Function Coverage" only)
CloverProcessor(), # [php] via clover
CoberturaProcessor() # [python] via cobertura
CSharpProcessor(),
JacocoProcessor(), # [java] via jacoco
JetBrainsXMLProcessor(), # [jetbrainsxml] JetBrains DetailedXML
MonoProcessor(), # [c# mono]
SCoverageProcessor() # [scala] via scoverage
VbProcessor(), # [c++] [c#]
VbTwoProcessor(), # [c++] [c#]
]
txt_processors = [
DLSTProcessor(), # [dlst]
GapProcessor(),
GcovProcessor(), # [gcov]
GoProcessor(),
LcovProcessor(), # [lcov] - Graphical version of Gcov
LuaProcessor(), # [lua]
XCodeProcessor() # [xcode] - Native iOS development
]
json_processors = [
CoverallsProcessor(),
ElmProcessor(),
FlowcoverProcessor(),
GapProcessor(),
NodeProcessor(),
RlangProcessor(), # [r lang]
RspecProcessor(), # [rspec]
SalesforceProcessor(),
ScalaProcessor(),
VOneProcessor(),
]
Recommended Formats
Codecov can (on occasion) have issues processing some coverage report formats. Below is a handy list of alternatives that you may want to consider
Ruby
SimpleCov's json output is currently incompatible with Codecov's json parser for coverage. Using SimpleCov's json output can cause processing errors on Codecov. While we're working to remedy this, in the meantime you can generate SimpleCov output as lcov or cobertura and it will be processed correctly by Codecov:
- For cobertura: https://github.com/dashingrocket/simplecov-cobertura
- For lcov: https://github.com/fortissimo1997/simplecov-lcov
Updated 3 months ago