sit代码覆盖率

  1. 编译coverage版本
1
./build.sh --build=coverage --pack_all=1 --pack_type=onebox all
  1. 搭建环境,配置参数brpc_dsink_enable需改为false

  2. 进行sit

  3. kill 行云进程号

1
kill ${pid}
  1. 等待1分钟,查看是否生成*.gcda文件的时间是否在当前时间左右,若是则成功了建议命令,执行效率高
1
ls -lhR gcda/ | grep "\.gcda$"

1
find gcda/ -name "*.gcda" -exec ls -lh {} \;
  1. 将文件打包,并copy到代码执行编译的目录下
1
tar cjf gcda.tar.bz2 gcda/*
  1. 在编译路径下,执行report_coverage.sh脚本生成覆盖率报告(会生成coverage目录)
1
./report_coverage.sh -gcda=./gcda.tar.bz2 ${模块名1} ${模块名2} ${模块名...}

指定模块,则生成对应模块的覆盖率文件不指定模块,则生成整个项目的覆盖率文件

  1. coverage/xcloud.report/下,执行命令
1
python -m SimpleHTTPServer 12345
  1. 查看覆盖率在浏览器输入当前节点的IP:12345