功能测试:[1]C语言功能测试代码覆盖率工具

 时间:2026-02-13 12:20:07

1、以三开项目为例,进行说明.

1、首先了解编译文件的结构,sass的编译通过每个模块里面的Make.rules文件指定环境变量和编译参数。比如编译proj/kernal模块,需要进入$SAAS/proj/kernal目录,修改Make.rules ,修改内容为(见红色部分):

THIS_INCL    =       ../../includeDPL_INCL        =       ../../../../share/dpl/includeTG_INCL         =       ../../../../share/tg/includeMDL_INCL        =       ../../../../share/module/includePRT_INCL        =       ../../../../share/proto/includePL_INCL        =    ../../../../proj/library/includeORA_INCL        =       $(ORACLE_HOME)/rdbms/public

CC              =       gcc -m64 -DCOMPILE64#CC             =       gcc -mcpu=v9 -m64FPIC            =       -fPICWARN_LEVL       =       -WallFDEBUG          =       -gDEFS            =       -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICSEXTRA_OPT       +=      $(FDEBUG)EXTRA_OPT       +=      $(WARN_LEVL)EXTRA_OPT       +=      $(FPIC)EXTRA_OPT       +=      $(DEFS)EXTRA_OPT       +=      -fprofile-arcs -ftest-coverageALL_INC         +=      -I$(THIS_INCL)ALL_INC         +=      -I$(DPL_INCL)ALL_INC         +=      -I$(TG_INCL)ALL_INC         +=      -I$(PRT_INCL)ALL_INC         +=      -I$(ORA_INCL)ALL_INC         +=      -I$(MDL_INCL)ALL_INC         +=      -I$(PL_INCL)

PRT_LIB         =       ../../../share/proto/libTG_LIB          =       ../../../share/tg/libDPL_LIB         =       ../../../share/dpl/libMDL_LIB         =       ../../../share/module/libPL_LIB        =    ../../../proj/library/lib

HFILE        =    $(P_DIR)/include/main.hHFILE        +=    $(P_DIR)/include/glob.hHFILE        +=    $(P_DIR)/include/version.hHFILE        +=    $(P_DIR)/include/tool.hHFILE        +=    $(P_DIR)/include/router.hHFILE        +=    $(P_DIR)/include/log.hHFILE        +=    $(P_DIR)/include/glob_msg.h

LIBS            +=      -L$(MDL_LIB) -lnmcc -lmcs -lmcc -lupcs -lsmpps -lsmppc -lmonitorLIBS            +=      -L$(PL_LIB) -lupcp -lsscpLIBS            +=      -L$(PRT_LIB) -lnmprt -lsmpp34LIBS            +=      -L$(TG_LIB) -ltgmpm -ltgaem -ltgsc -ltgmbq -ltgmbp -ltgmtm -ltgsi -ltgbt -ltgflux -ltgpnb -ltgbdsLIBS            +=      -L$(DPL_LIB) -lmpm -lbptree -lblkp -lblkq -lmem -ldpl -lbbtree#LIBS            +=      -L$(ORACLE_HOME)/lib32 -lclntsh -DSLMXMX_ENABLE -DSLTS_ENABLE -D_SVID_GETTODLIBS            +=      -L$(ORACLE_HOME)/lib -lclntsh -DSLMXMX_ENABLE -DSLTS_ENABLE -D_SVID_GETTOD#LIBS            +=      -lpthread -liconv -lxnet -lposix4 -ldl -lkstat -lmLIBS            +=      -lpthread -ldl -lmLIBS            +=      -lgcov

2、启动各个子模块

3、进行业务功能测所

4、收集测试数据,进入到$XXX_HOME目录下,执行lcov -d ./ -b -c -o testresult.info

5、生成HTML报告  genhtml -o testresult  testresult.info

6、下载查看结果,将testresult  下载到本地进行观看.

  • 如何使用FineReport报表工具创建下拉复选框组件
  • c#写一个程序,要求输入2个int数据,输出最大者
  • 发明、实用新型专利权保护范围怎样确定?
  • 如何使用JavaScript中的switch语句判断类型状态
  • 如何写for循环语句
  • 热门搜索
    豪横的意思 来日方长的意思 mbi是什么意思 恶魂之泪有什么用 冠名是什么意思 其乐融融的意思 失事的意思 什么是t恤衫 小心翼翼是什么意思 风靡一时什么意思