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.2.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.3.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.3-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: llvmcovdiff-0.0.3.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.3.tar.gz
Algorithm Hash digest
SHA256 a74b636298f9132e333b4c413d0df22bcc75347468d400e48eec4d7b2d29ebb9
MD5 c0c24d1df98f97c636e7b90b19311afa
BLAKE2b-256 4ec75e49e25571500018f1432af0beebbcf117f30a787c10784ea8c593550baa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: llvmcovdiff-0.0.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0e33114316ad8933b4b0fcf802bfe26ea478573bf1f1b8e78d041272c875c94d
MD5 c056ed0329d6f3b7a6348d21c8213364
BLAKE2b-256 44eb45e73141f0ec9c1195f049518e424b9f0c0903e86bdb3b0cd5e173d7a3a9

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