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

2025-10-30 04:58:22

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  下载到本地进行观看.

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢