Search results for "{{ search.query }}"

No results found for "{{search.query}}". 
View All Results

Test Coverage Troubleshooting Tips

Test Reporter: Troubleshooting and Getting Help

Having trouble setting up test coverage for your repo?

In addition to the the Configuring Test Coverage help doc, these topics provide additional troubleshooting context:

Basic requirements
Client-side considerations
Self help from technical documentation
Contact Support
Common Questions
Specific error messages from the reporter

Need more help?

Open an issue or contact Support! Include the information listed here. ⬅️

Basic requirements:

  1. Do you have coverage reporting configured for one of our supported languages?
  2. Are you using the correct CC_TEST_REPORTER_ID?
  3. Are you using single or multiple test coverage setups? Setup varies for each.

Client-side considerations:

  1. Coverage data is based on the data that you send us via your coverage payloads, which is created client-side.
  2. Try removing Code Climate from the equation:
    (1) Look at coverage results locally. Are they what you expect?
    (2) Are your results what you expect, regardless of Code Climate?
    (3) How are they different while looking at Code Climate?

Self help from technical documentation

  1. Output debug messages to your CI using the --debug flag with your cc-test-reporter.
  2. Search the test reporter GitHub project for specific error messages.
  3. Read the test reporter's README for detailed instructions and low level usage commands.
  4. Check out the sample/working test config files on the test reporter GitHub project here.
  5. Ask a question and open an issue on the test reporter repo itself.

Contact Support

Opening an Issue or contacting Support?

Please include:

  1. Repo name
  2. CI name
  3. If you use single, parallel or multi-suite builds
  4. A copy of your CI configuration file
  5. Output from your CI when using the --debug flag in your CI configuration
  6. Any relevant screenshots of your setup

open Issue | contact Support

Common Questions - FAQs

Common Problems and FAQs
Reason and Action

I see a "successfully sent" message in my CI, but no results show in Code Climate's UI.


  1. You will only see default branch coverage in Code Climate's UI. Use the browser extension to see other coverage in GitHub.

  2. Add the --debug flag and view additional output.

  3. Possibly due to malformed payloads.

  4. Make sure that you're sending ENV (not Git) values.

  5. Check to see if you're pinning to a specific test coverage reporter version.


Where should I put the --debug statement?


  1. If you're running your tests in single builds, use after-build --debug.

  2. For tests run in parallel, please use both format-coverage --debug and upload-coverage --debug.


What CI-specific environmental variables and calls should I use?


  1. Although the same basic variables are needed, we've found that each CI's naming of variables and calls can be quite different.

  2. Check our CI sample config files in our help docs here as well as in the test reporter project.


Coverage results from one repo are showing on a different repo.


  1. You might be using the incorrect CC_TEST_REPORTER_ID.

  2. Check the test reporter id used in your test coverage config file or CI configurations.


When Code Climate is down, it causes my builds to fail because I can't upload my coverage reports. How can I fix this?


  1. We're looking to update our reporter to account for this. In the meantime, we recommend the following workaround:

    after-build || echo “Skipping CC coverage upload” or upload-coverage || echo “Skipping CC coverage upload”


My test coverage disappeared. My test coverage badge now shows a ?.


  1. We purge test reports every 30 days. To bring back your test coverage info, configure the test reporter to send a new coverage payload for your default branch.

My test coverage info is visible in the UI, but the test coverage statuses won't populate in GitHub.


  1. Make sure your Code Climate user is GitHub-linked, and that you've granted access to private repos.

My total-coverage or diff-coverage statuses are hanging in my PR, but my CI said the coverage info was "successfully sent".


  1. Our test coverage statuses rely on coverage info for both the branch head and merge base of a PR. Occasionally, a failed CI build will stop the coverage info from being uploaded, even if it gives a "successfully sent" message for the test coverage section. Check your CI logs for the builds for both the branch head and merge base commits. If one or either has failed, retrigger the CI builds to resend coverage info.

Specific error messages from the reporter

Error Message
Description
Resolution

Error: you must supply a CC_TEST_REPORTER_ID ENV variable or pass it via the --id/-r flag

The reporter is unable to find your repo's test reporter ID. This value either needs to configured within the environment or passed directly as a CLI argument.

export CC_TEST_REPORTER_ID=<your token> cc-test-reporter after-build --exit-code $?

OR

export CC_TEST_REPORTER_ID=<your token> cc-test-reporter after-build --id <your token> --exit-code $?


Error: file not found


The reporter is unable to find a file referenced with the test report. Does that file exist within your git repository? Was your test suite run within a different filesystem (such as in a docker container)?


You may need to specify a prefix value.
-
For example, if you're running the tests within a docker container and your app code is located at /usr/src/app, the reporter run outside of the docker container will not be able to find files at the same absolute path.
-
Pass --prefix /usr/src/app to instruct the test reporter to strip the unknown base path.


Invalid path part


Most often, this is related to:

  1. the reporter not able to find your test coverage results to upload them to Code Climate.
  2. the reporter encountering a file that it can't process

For #1, adding the -- prefix option to make the path mentioned relative to the project root.

For #2, try excluding the mentioned file from your test coverage payloads. If you need the coverage results of that file, contact us and we'll help.


Error: not find any viable formatter. available formatters: simplecov, lcov, coverage.py, clover, gocov, gcov, cobertura, jacoco


The reporter is unable to find a formatter.


This is often seen with Java projects, when the the path to source code can't be inferred.

Solution:

Instead of after-build, please use:

1) format-coverage, which includes:

  • JACOCO_SOURCE_PATH: the path to Java source files (a new environment variable)

  • coverage file: to path to JaCoCo coverage XML file (the first argument)
    upload-coverage

AND

2) upload-coverage

Test Coverage Troubleshooting Tips