<html devsite>
<head>
  <meta name="project_path" value="/_project.yaml">
  <meta name="book_path" value="/versions/6.0.0/_book.yaml">
</head>
<body>

<h1 class="page-title" id="modules.coverage">coverage</h1>

<!-- {% raw %} -->

A configuration fragment representing the coverage configuration.

<h2>Members</h2>
<ul>
    <li>
    <a href="#output_generator">output_generator</a>
  </li>
  </ul>

      <h2 id="output_generator">output_generator</h2>
        <p><pre class="rule-signature"><a class="anchor" href="Label">Label</a> coverage.output_generator</pre></p>

    Returns the label pointed to by the <a href="/versions/6.0.0/docs/user-manual#flag--coverage_output_generator"><code>--coverage_output_generator</code></a> option if coverage collection is enabled, otherwise returns <code>None</code>. Can be accessed with <a href="globals.html#configuration_field"><code>configuration_field</code></a>:<br/><pre>attr.label(<br/>    default = configuration_field(<br/>        fragment = "coverage",<br/>        name = "output_generator"<br/>    )<br/>)</pre>

         May return <code>None</code>.


</body>
</html>

<!-- {% endraw %} -->
