---
name: "grcov"
section: "1"
platform: "linux"
package: "grcov"
version: "0.8.22-1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/grcov"
---

# grcov(1)

grcov

## NAME

grcov - grcov

## SYNOPSIS

**grcov** \[*OPTIONS*\] *\<PATHS\>*...

## DESCRIPTION

grcov Marco Castelluccio \<mcastelluccio@mozilla.com\> Parse, collect and aggregate code coverage data for multiple source files

### Arguments:

-

  \<PATHS\>...

-

  Sets the input paths to use

## OPTIONS

**-b**, **--binary-path** \<PATH\>

-

  Sets the path to the compiled binary to be used

**--llvm-path** \<PATH\>

-

  Sets the path to the LLVM bin directory

**-t**, **--output-types** \<OUTPUT TYPE\>

-

  Comma separated list of custom output types: - \*html\* for a HTML coverage report; - \*coveralls\* for the Coveralls specific format; - \*lcov\* for the lcov INFO format; - \*covdir\* for the covdir recursive JSON format; - \*coveralls+\* for the Coveralls specific format with function information; - \*ade\* for the ActiveData-ETL specific format; - \*files\* to only return a list of files. - \*markdown\* for human easy read. - \*cobertura\* for output in cobertura format. - \*cobertura-pretty\* to pretty-print in cobertura format.

-

  \[default: lcov\]

**-o**, **--output-path** \<PATH\>

-

  Specifies the output path. This is a file for a single output type and must be a folder for multiple output types

**--output-config-file** \<PATH\>

-

  Specifies the output config file

**-s**, **--source-dir** \<DIRECTORY\>

-

  Specifies the root directory of the source files

**-p**, **--prefix-dir** \<PATH\>

-

  Specifies a prefix to remove from the paths (e.g. if grcov is run on a different machine than the one that generated the code coverage information)

**--ignore-not-existing**

-

  Ignore source files that can't be found on the disk

**--ignore** \<PATH\>

-

  Ignore files/directories specified as globs

**--keep-only** \<PATH\>

-

  Keep only files/directories specified as globs

**--path-mapping** \<PATH\>

**--branch**

-

  Enables parsing branch coverage information

**--filter** \<FILTER\>

-

  Filters out covered/uncovered files. Use 'covered' to only return covered files, 'uncovered' to only return uncovered files

-

  \[possible values: covered, uncovered\]

**--sort-output-types** \<OUTPUT TYPES\>

-

  Comma separated list of output types to sort files lexicographically for

-

  \[default: markdown\]

**--llvm**

-

  Speeds-up parsing, when the code coverage information is exclusively coming from a llvm build

**--token** \<TOKEN\>

-

  Sets the repository token from Coveralls, required for the 'coveralls' and 'coveralls+' formats

**--commit-sha** \<COMMIT HASH\>

-

  Sets the hash of the commit used to generate the code coverage data

**--service-name** \<SERVICE NAME\>

-

  Sets the service name

**--service-number** \<SERVICE NUMBER\>

-

  Sets the service number

**--service-job-id** \<SERVICE JOB ID\>

-

  Sets the service job id

-

  \[aliases: service-job-number\]

**--service-pull-request** \<SERVICE PULL REQUEST\>

-

  Sets the service pull request number

**--service-flag-name** \<SERVICE FLAG NAME\>

-

  Sets the service flag name for coveralls parallel/carryover mode

**--parallel**

-

  Sets the build type to be parallel for 'coveralls' and 'coveralls+' formats

**--threads** \<NUMBER\>

**--precision** \<NUMBER\>

-

  Sets coverage decimal point precision on output reports

-

  \[default: 2\]

**--guess-directory-when-missing**

**--vcs-branch** \<VCS BRANCH\>

-

  Set the branch for coveralls report. Defaults to 'master'

-

  \[default: master\]

**--log** \<LOG\>

-

  Set the file where to log (or stderr or stdout). Defaults to 'stderr'

-

  \[default: stderr\]

**--log-level** \<LEVEL\>

-

  Set the log level

-

  \[default: ERROR\] \[possible values: OFF, ERROR, WARN, INFO, DEBUG, TRACE\]

**--excl-line** \<regex\>

-

  Lines in covered files containing this marker will be excluded

**--excl-start** \<regex\>

-

  Marks the beginning of an excluded section. The current line is part of this section

**--excl-stop** \<regex\>

-

  Marks the end of an excluded section. The current line is part of this section

**--excl-br-line** \<regex\>

-

  Lines in covered files containing this marker will be excluded from branch coverage

**--excl-br-start** \<regex\>

-

  Marks the beginning of a section excluded from branch coverage. The current line is part of this section

**--excl-br-stop** \<regex\>

-

  Marks the end of a section excluded from branch coverage. The current line is part of this section

**--no-demangle**

-

  No symbol demangling

**-h**, **--help**

-

  Print help (see a summary with '-h')

**-V**, **--version**

-

  Print version
