The Firefox code coverage diff viewer allows determining code coverage changes for added lines per changeset.
Clone or download

README.md

Firefox code coverage diff viewer

This project is the code coverage changeset viewer for Firefox. You can view the frontend running in here.

To understand the big picture of code coverage at Mozilla read this blog post.

The app will show recent changesets from mozilla-central that have code coverage (pending changesets will be automatically be fetched). From there you can navigate to the diff of each changeset and see the code coverage for added lines. It is very important to reiterate that it is code coverage for added lines and not for a specific file (as most code coverage viewers focus on).

The data used in this UI is based on data submitted to codecov.io.

Planning and views

This is document tracks the original plans while these track grid view of plans and long term plans. You view all coverage collection work tracked in here. You can preview this app here while over here we track files without any coverage.

Disclaimers

  • Linux 64-bit and Windows 64-bit only.
    • partial debug build type: some flags are disabled
    • debug only tests are run
  • A few tests are disabled on coverage builds due to high failures
  • We ignore C++ files generated from IDL, IPDL, WebIDL
  • Coverage collections are for .c*, .h*, and .js* files
    • However, not all of these are covered (either no coverage or zero coverage)
    • Some of these are because we don't cover all platforms
  • Intermittent failures during testing cause different code paths to be hit (such as crash reporting)
  • Broken builds/failures might prevent us from running a test, set of tests, or a few jobs, coverage could be abnormally low

Filing issues

You can file frontend issues in Firefox code coverage frontend. For backend issues file them in releng-services with the 4.app: shipit_code_coverage label.

Requirements

Set up

Checkout the code and run:

yarn install
yarn start

Attribution

Icons from Material Design Icons.