我正在尝试为我现有的嵌入式项目设置单元测试。不幸的是,该项目对源文件".C“和".c”有混合的扩展名。由于版本控制历史,我不能简单地将所有文件重命名为".c“
我尝试相应地编辑yaml文件,但它似乎只支持一个或另一个扩展。
正常
...
:extension:
:executable: .out
:source: .c
...不是工作方式,但需要
...
:extension:
:executable: .out
:source: .c ; .C
...没有编译LED.C。所以链接器失败了。
Test 'test_LED.c'
-----------------
Generating runner for test_LED.c...
Compiling test_LED_runner.c...
Compiling test_LED.c...
Linking test_LED.out...
build/test/out/c/test_LED.o: In function `test_LED_NeedToImplement':
C:\Users\de7d7b\Workspaces\C_\myProject/test/test_LED.c:14: undefined reference to `LED_turnOn'
collect2.exe: error: ld returned 1 exit status发布于 2019-12-29 15:25:28
在Ceedling 0.29.1版本中,这似乎是不可能的,因为源扩展仅用作单个配置字符串,而不是数组。我强烈建议您为它打开一个功能请求。
同时,至少可以通过为每个文件创建symlink来解决部分问题。这很烦人,但它允许您在不重命名所有文件的情况下利用ceedling。例如,如果要测试的文件位于src中:
ln -s LED.C src/LED.chttps://stackoverflow.com/questions/57854711
复制相似问题