如何正确编码由宏扩展的代码

时间:2019-06-28 04:53:44

标签: c macros code-coverage codecov

我在尝试检查托管在GitHub here上的我的一个项目的代码覆盖率时遇到了一些麻烦。主要是C和宏扩展为一些可用的代码。

我正在编写一个测试,并决定早些发布。这意味着该测试并未完全测试该宏扩展的所有功能,但是以某种方式获得了该特定文件的100%代码覆盖率。所有测试都通过了(因此所有未生成的代码都通过了),但并非所有由宏扩展的功能都通过了,因此我假设未考虑生成的代码。

所以我看到了两种可能性:

  • A-做一些编译器技巧,以便codecov可以考虑扩展后的代码;
  • B-直接将生成的宏复制并粘贴到文件中(这不理想,因为宏扩展可能会更改)。

code_image

CMC_CREATE_UNIT扩展为一个函数,然后在下面的main down中调用(未显示)。 CMC_CREATE_TEST扩展为一系列do {} while(0)(更多详细信息here)。此外,LIST_GENERATE扩展为一系列功能,这些功能是该单元测试的目标。

0 个答案:

没有答案