当前位置: 首页 > news >正文

genhtml 工具使用说明

genhtml 工具使用说明


简介

genhtml 是一个用于生成 HTML 格式代码覆盖率报告的工具,基于 lcov 生成的覆盖数据文件(如 lcov.info)生成交互式 HTML 报告。它支持多种自定义选项,可控制报告内容、样式、输出格式等。


基本用法

genhtml [OPTIONS] TRACEFILE_PATTERN(S)
  • TRACEFILE_PATTERN(S):覆盖数据文件的路径或通配符模式(如 *.info)。
  • 示例genhtml -o report coverage.info

常用选项

通用选项

选项说明示例
-h, --help显示帮助信息并退出。genhtml --help
--version显示版本号并退出。genhtml --version
-v, --verbose增加输出详细程度(可重复使用,如 -vv)。genhtml -vv coverage.info
-q, --quiet减少输出信息(关闭进度提示)。genhtml -q coverage.info
--debug增加调试信息输出。genhtml --debug coverage.info
--config-file FILENAME指定配置文件路径。genhtml --config-file myconfig.conf coverage.info
--rc SETTING=VALUE覆盖配置文件中的设置。genhtml --rc genhtml_output_dir=/tmp report

操作选项

输出控制
选项说明示例
-o, --output-directory OUTDIR指定 HTML 输出目录。genhtml -o report coverage.info
-d, --description-file DESCFILE指定测试描述文件路径。genhtml -d test_desc.txt coverage.info
-b, --baseline-file BASEFILE指定基线覆盖数据文件(用于对比)。genhtml -b baseline.info coverage.info
数据处理
选项说明示例
--annotate-script SCRIPT使用脚本获取版本控制数据(如 Git)。genhtml --annotate-script git_annotate.sh coverage.info
--filter FILTERS应用过滤规则(如 branchfunction)。genhtml --filter branch coverage.info
--include PATTERN仅包含匹配模式的文件。genhtml --include 'src/*.c' coverage.info
--exclude PATTERN排除匹配模式的文件。genhtml --exclude 'test/*' coverage.info
--source-directory DIR指定源代码目录路径。genhtml --source-directory /my/project coverage.info
高级选项
选项说明示例
-j, --parallel [N]启用并行处理(N 为最大线程数)。genhtml -j4 coverage.info
--profile [FILENAME]记录性能统计到文件。genhtml --profile stats.json coverage.info

HTML 输出选项

布局与样式
选项说明示例
-f, --frames使用 HTML 框架显示源代码。genhtml --frames coverage.info
-t, --title TITLE设置报告标题。genhtml -t "My Project Coverage" coverage.info
--css-file CSSFILE使用外部 CSS 文件。genhtml --css-file custom.css coverage.info
--dark-mode启用深色主题。genhtml --dark-mode coverage.info
内容显示
选项说明示例
--show-details生成详细目录视图。genhtml --show-details coverage.info
--show-owners显示所有所有者的覆盖率摘要。genhtml --show-owners coverage.info
--no-sourceview不生成源代码视图。genhtml --no-sourceview coverage.info
路径与文件处理
选项说明示例
-p, --prefix PREFIX移除路径前缀(如 /home/user/)。genhtml --prefix /home/user/ coverage.info
--substitute REGEXP通过正则表达式修改源文件路径。genhtml --substitute 's/old/new/' coverage.info

高级选项

选项说明示例
--baseline-title TITLE设置基线数据的标题。genhtml --baseline-title "Previous Build" -b baseline.info coverage.info
--diff-file UDIFF使用统一差异文件对比源代码变更。genhtml --diff-file changes.diff coverage.info
--demangle-cpp反编译 C++ 函数名(如 std::string)。genhtml --demangle-cpp coverage.info

示例命令

  1. 生成基本报告

    genhtml -o report coverage.info
    
  2. 使用基线对比并指定标题

    genhtml -o report --baseline-file baseline.info --title "Coverage Report" coverage.info
    
  3. 并行处理并压缩 HTML

    genhtml -j8 --html-gzip -o report coverage.info
    
  4. 过滤特定目录并启用深色主题

    genhtml --include 'src/' --dark-mode -o report coverage.info
    

注意事项

  • 覆盖数据文件:需先通过 lcov 或其他工具生成 .info 格式的覆盖数据。
  • 路径处理:使用 -p--prefix 可简化生成的 HTML 中的路径显示。
  • 基线文件--baseline-file 用于对比历史覆盖率数据,需与当前数据格式一致。
  • 详细帮助:更多选项细节可通过 man genhtml 或参考官方文档获取。

通过合理配置选项,genhtml 可生成高度定制化的代码覆盖率报告,满足不同项目的需求。

相关文章:

  • 何时选择for,何时使用while?
  • 进行性核上性麻痹:合理饮食,提升生活质量
  • 【天梯赛练习】L2-035 完全二叉树的层序遍历
  • C++学习:六个月从基础到就业——面向对象编程:重载运算符(上)
  • Scala 入门指南
  • C++23 新预处理器指令详解:#elifdef、#elifndef 和 #warning
  • 数据结构与算法[零基础]---5.图
  • WIN11运行游戏时出现“ms-gamingoverlay”弹框的问题
  • package.json 中的那些版本数字前面的符号是什么意思?
  • WSL2-Ubuntu22.04安装URSim5.21.3
  • jvm调优工具arthas(阿尔萨斯)安装与使用---实践
  • 宫庭海:跨界融合与家国情怀的影视开拓者
  • 机器学习 Day11 决策树
  • Ubuntu 20.04.6编译安装COMFAST CF-AX90无线网卡驱动
  • OpenHarmony Camera开发指导(四):相机会话管理(ArkTS)
  • js day2
  • 十五种光电器件综合对比——《器件手册--光电器件》
  • FastAPI与SQLAlchemy数据库集成
  • 2025.04.17【Dendrogram】生信数据可视化:Dendrogram图表详解
  • 无人机姿态稳定与动态控制模块概述!
  • 多地警务新媒体整合:关停交警等系统账号,统一信息发布渠道
  • 董军同法国国防部长举行会谈
  • 某博主遭勒索后自杀系自导自演,成都警方立案调查
  • “降息潮”延续,多家民营银行下调存款利率
  • 上海浦东机场1号、2号航站楼均推出国内出发安检24小时服务
  • 5年建成强化城市核心功能新引擎,上海北外滩“风景文化都是顶流”