Gcovr provides a utility for managing the use of the GNU gcov utility and generating summarized code coverage results. This command is inspired by the Python coverage.py package, which provides a similar utility for Python.

The gcovr command can produce different kinds of coverage reports:

  • default: compact human-readable summaries
  • --html: HTML summaries
  • --html-details: HTML report with annotated source files
  • --xml: machine readable XML reports in Cobertura format
  • --sonarqube: machine readable XML reports in Sonarqube format
  • --json: JSON report with source files structure and coverage

Thus, gcovr can be viewed as a command-line alternative to the lcov utility, which runs gcov and generates an HTML-formatted report. The development of gcovr was motivated by the need for text summaries and XML reports.