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.4.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.4.tar.gz (6.8 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.4-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llvmcovdiff-0.0.4.tar.gz
  • Upload date:
  • Size: 6.8 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.4.tar.gz
Algorithm Hash digest
SHA256 b3ecbe09ea26c2164ad22a271522d3ac9414f5b1dbf3b6975d3e8753db1773ab
MD5 58b4b4661ada9f2d7f1473ea2495135a
BLAKE2b-256 66235d3020b4bbeead5bff1ef4eba0e0606dd5c53c2403f42ab9ce7e8d0f2a4b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llvmcovdiff-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 7.5 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 860beead2b132c77662fb654104000f0e05c1c701af9ecc0046581ecd8c7fe70
MD5 86fa78339505a2a96e50777224f0ea60
BLAKE2b-256 0d3e3d07e98a62e493b2804f3f172004a1e15be9c8b9279c6b90a2ad57df0ce6

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