DCache测试说明

    测试代码位于此test目录下,目录结构和源码结构保持统一。原则上保证测试代码文件和源代码文件一一对应,即每个cpp文件都有对应的测试文件且统一命名,如源代码文件为:/src/Router/Transfer.cpp,对应的测试代码为/test/Router/TransferTest.cpp。
    各自模块应包含此目录下的makefile.inc文件,增加测试代码后,在其模块目录执行make命令进行编译,会生成对应的测试可执行程序,如TransferTest,直接运行它就可以进行测试。
    另外也可以通过run_test.sh脚本批量执行测试用例。使用之前需要先编译测试用例代码,然后执行脚本,并指定要执行测试用例的文件夹名称,如

    便可批量执行所有Router目录下的测试用例,如遇执行失败会终止并给出失败用例的名称。

    代码覆盖率统计采用gcov和lcov配合完成。run_lcov.sh脚本用于统计模块代码覆盖率。
    使用方法:执行run_lcov.sh并指定要统计覆盖率的模块名称,如

    此命令会重新编译原始代码(src/Router)和测试代码(test/Router)并执行所有测试用例以统计覆盖率,最终在test/Router目录下生成覆盖率统计结果html目录和打包好的html.tar。
    另外,由于DCache中有很多由.tars文件自动生成的代码,测试覆盖率时一般要将其去掉,只需将要去掉统计的文件名添加到.lcov-ignore文件中即可。