lgov的覆盖率文件语法

来源:互联网 发布:php 接口开发框架 编辑:程序博客网 时间:2024/06/06 19:18
jenkins单元测试的lgov输出的覆盖率文件具有一定的格式。
我们可以根据这些特定语法,分析出团队里不同成员的提交代码的覆盖率情况。
由于该信息不太容易查找,因此,转载如下:
A tracefile is made up of several human-readable lines of text, divided       into sections. If available, a tracefile begins with the testname which       is stored in the following format:         TN:<test name>       For  each  source  file  referenced in the .da file, there is a section       containing filename and coverage data:         SF:<absolute path to the source file>       Following is a list of line numbers for each function name found in the       source file:         FN:<line number of function start>,<function name>       Next,  there  is a list of execution counts for each instrumented func-       tion:         FNDA:<execution count>,<function name>       This list is followed by two lines containing the number  of  functions       found and hit:         FNF:<number of functions found>         FNH:<number of function hit>       Branch coverage information is stored which one line per branch:         BRDA:<line number>,<block number>,<branch number>,<taken>       Block  number  and  branch  number are gcc internal IDs for the branch.       Taken is either ’-’ if the basic block containing the branch was  never       executed or a number indicating how often that branch was taken.       Branch coverage summaries are stored in two lines:         BRF:<number of branches found>         BRH:<number of branches hit>       Then  there  is  a  list of execution counts for each instrumented line       (i.e. a line which resulted in executable code):         DA:<line number>,<execution count>[,<checksum>]       Note that there may be an optional checksum present  for  each  instru-       mented  line.  The  current  geninfo implementation uses an MD5 hash as       checksumming algorithm.       At the end of a section, there is a summary about how many  lines  were       found and how many were actually instrumented:         LH:<number of lines with a non-zero execution count>         LF:<number of instrumented lines>       Each sections ends with:         end_of_record       In  addition  to  the  main source code file there are sections for all       #included files which also contain executable code.       Note that the absolute path of a source file is generated by interpret-       ing  the  contents  of  the  respective .bb file (see gcov (1) for more       information on this file type). Relative filenames  are  prefixed  with       the directory in which the .bb file is found.       Note  also that symbolic links to the .bb file will be resolved so that       the actual file path is used instead  of  the  path  to  a  link.  This       approach  is  necessary  for  the mechanism to work with the /proc/gcov       files.
原创粉丝点击