Skip to main content

Compare two llvm-cov html coverage report.

Project description

llvm-cov-html-diff

This tool allows you to inspect and debug fuzzbench results to know why one fuzzer is better than the other.

  • Enable the generation of llvm-cov coverage report.
  • Use this tool to diff the report.
  • Check the report: Check those lines that is not covered by one fuzzer but covered by the other.

Usage

  1. Install the tool: pip install llvmcovdiff
  2. Use the tool.
python -m llvmcovdiff <old_report_folder> <new_report_folder> <output_report_folder>

For example, for a fuzzbench result:

python -m llvmcovdiff ./2024-05-13-new-cov/coverage/reports/proj4_proj_crs_to_crs_fuzzer/aflplusplus/ ./2024-05-13-new-cov/coverage/reports/proj4_proj_crs_to_crs_fuzzer/afl/ out3

Develop

python3 -m build && python3 -m pip install ./dist/llvmcovdiff-0.0.1.tar.gz

Details

In generated report from llvm-cov

  • There are index.html that shows the main status of the coverage.
  • There are xxxx.c.html or xxx.h.html that shows line coverage.

Given two llvm-cov report folder, We generate a new folder that shows the differences.

FAQ

  1. Why some line hit count changed but not highlighted?

For line coverage count, we only highlight those counts that goes from zero to non-zero, or from non-zero to zero.

Others

Thanks to https://github.com/Dentosal/llvm-codecov-diff/blob/0352d07e486f75b2dfb8bf2d7eb8a6e948e19106/app.py

Tested on python 3.10 pip 24.2:

beautifulsoup4==4.12.2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llvmcovdiff-0.0.2.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llvmcovdiff-0.0.2-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file llvmcovdiff-0.0.2.tar.gz.

File metadata

  • Download URL: llvmcovdiff-0.0.2.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for llvmcovdiff-0.0.2.tar.gz
Algorithm Hash digest
SHA256 a8f2580993de197aad6fa6b352b3d81993ba4b37584bceaea7c99a5f3f0d0208
MD5 cd2a2e976355ce8b54ffaf23f42d1f48
BLAKE2b-256 a80b46b2a7240838ef528c397d58fe46eac5c0bfd222968ce8fce44d56653ee8

See more details on using hashes here.

File details

Details for the file llvmcovdiff-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: llvmcovdiff-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for llvmcovdiff-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f1ff92dde8c4eceab7ba4ded1313da8ce4f36f445c6f0fb70b25fc9952dac637
MD5 cc596a454fbe4748cd635658244569f1
BLAKE2b-256 fa805a76ee3858b1f6858d3184b12079f48c4b3fe46e06840c3b4c15c034c154

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page