Ceedling с несколькими расширениями исходного файла

Я пытаюсь настроить модульные тесты для своего существующего встроенного проекта. К сожалению, в проекте есть разные расширения для исходных файлов ".c" и ".C". Из-за истории контроля версий я не могу просто переименовать все файлы в ".c"

Я попытался отредактировать файл yaml соответствующим образом, но кажется, что ceedling поддерживает только одно или другое расширение.

Обычный

...
: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

1 ответ

В настоящее время это невозможно с Ceedling начиная с версии 0.29.1, поскольку исходные расширения используются только как одна строка конфигурации, а не как массив. Я настоятельно рекомендую открыть для этого запрос функции.

Между тем, существует как минимум частичный обходной путь, который вы можете сделать, создав символическую ссылку для каждого файла. Это раздражает, но позволит вам использовать ceedling без переименования всех файлов. Например, если файл, который вы хотите протестировать, находится в src:

ln -s LED.C src/LED.c
Другие вопросы по тегам