Описание тега ceedling

Система сборки для C предназначена для использования с фреймворками и библиотеками модульного тестирования Unity, CMock и CException. Тег [ceedling] следует использовать только там, где важна сама система сборки, рассмотрите возможность использования вместо них тегов [unity-test-framework], [cmock] и [cexception].
1 ответ

Как я могу активировать трассировку растений?

Я использую ceedling для модульного тестирования в прошивке, над которой я работаю. Я хотел бы видеть все варианты использования параметров командной строки при вызове компилятора. Я пытался использовать опцию --trace, но так как я не нашел никакой …
05 июл '19 в 21:17
1 ответ

Отказано в разрешении Ruby IO.popen

Я очень близок к тому, чтобы Microchip MPLABX MDB (отладчик) работал с автоматическим набором тестов под названием ceedling. У меня есть рубиновый файл под названиемsim_test_fixture.rb Этот файл предназначен для открытия mdb.bat и передайте ему файл…
16 окт '19 в 22:19
1 ответ

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

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

Общее модульное тестирование: возможно ли имитировать собственные функции? (ceedling/CMock)

Можно ли в принципе имитировать функции тестируемого файла? Например, я хочу протестировать файл self_test.c, состоящий из этих функций: #include "self_test.h" uint8_t function_1(uint8_t argument) { return function_2(argument); } uint8_t function_2(…
25 сен '19 в 12:55
2 ответа

Как использовать Ceedling/Unity/Cmock для тестирования встроенных систем

Я новичок в тестировании встроенных систем с помощью ceedling. Мне было интересно, есть ли хорошее место для начала с точки зрения обучения использованию ceedling. Проект, над которым я работаю, - это встроенная система для проекта CubeSat, и нам ну…
11 фев '20 в 03:17
1 ответ

Почему gcov не покрывает логический оператор &&?

Мой фрагмент кода, над которым я выполняю модульное тестирование, выглядит примерно так: if(((State !=TCPIP_IPADDR_STATE_ASSIGNED)&& (State !=TCPIP_IPADDR_STATE_ONHOLD) && (State !=TCPIP_IPADDR_STATE_UNASSIGNED)) ||(SoConId==DOIP_INV…
07 апр '20 в 09:15
0 ответов

Переменная среды в файле YAML для Ceedling не оценивается

У меня есть проект Ceedling, для которого я хочу настроить пути ceedling, которые не жестко запрограммированы. Для этого я попробовал оба способа - :environment: - :CEEDLING: - my_ceed/ceedling а также :environment: - :CEEDLING: - "#{ENV['CEEDLING_P…
16 ноя '19 в 02:22
1 ответ

CMock издевается над некоторыми функциями, но не над другими из того же модуля

//myfuncs.h void func1(void); void func2(void; Я провожу модульное тестирование. Используя CMock с ceedling, есть ли способ имитировать func1(), но запустить func2(), как это было изначально написано?
01 апр '20 в 16:31
4 ответа

Тестирование функции со статической глобальной переменной в Ceedling

Как я могу написать тест в Ceedling для функции, которая использует статическую глобальную переменную? Я хотел бы протестировать каждое возможное значение переменной, чтобы достичь хорошего тестового покрытия. //Pseudo code for file_under_test.c sta…
09 май '20 в 09:51
2 ответа

Ceedling/CMock: как сделать части файла .h видимыми только для Cmock

В моем модуле есть функции вроде макросов. Это не препятствие для тестирования модуля, но препятствие для других модулей, которые включают этот модуль. Мой вопрос: есть ли способ сделать часть файла.h видимой только для CMock? например: Module_1.h: …
26 мар '20 в 14:39
1 ответ

Написание макроса, при котором статика отключена при тестировании

У меня проблемы с написанием этого макроса. Пользуюсь семенником. У меня есть файл globals.h со следующим кодом: #ifndef globals #ifndef UNITY #define STATIC static #else #define STATIC #endif #define globals 1 #endif Итак, здесь должно произойти сл…
13 июл '20 в 23:45
0 ответов

Получить значение глобальных используемых определений в Ceedling YAML

Можно ли считать значения глобального используемого определения в файле ceedling yml? пример :commmon: &common_defines - VERSION=VERSION1 - CPU=CPU2 Как я могу получить значение CPU2 из CPU (его в собственном yml и динамическом с использованием …
07 сен '20 в 12:35
2 ответа

Как выполнить модульное тестирование процедуры статического обратного вызова, вызываемой из ISR

Я использую ceedling для модульного тестирования приложения C и пытаюсь достичь высокого охвата ~100%. У меня есть статическая функция обратного вызова в одном из моих прикладных модулей, которая зарегистрирована в функции SDK с указателем на функци…
24 ноя '20 в 01:43
2 ответа

Ceedling не может имитировать заголовок

Я пытаюсь имитировать заголовок, который включен в исходный файл, который я тестирую. Заголовок начинается со следующего: #if defined(ICM42600) #define ICM_WHOAMI ICM42600_WHOAMI #elif defined(ICM42602) #define ICM_WHOAMI ICM42602_WHOAMI #elif defin…
25 ноя '20 в 10:15
0 ответов

Ceedling/Unity/Cmock/FFF - возможность протестировать main()?

Я начал тестировать C-проект с помощью Ceedling + FFF, пока все работает нормально. Теперь я хочу протестировать main.c, включая функцию int main() - когда я начинаю ceedling, он будет жаловаться, что функция main уже определена в test_main_runner.c…
26 ноя '20 в 13:07
0 ответов

Ceedling использует неправильный файл запуска

Я тестирую код STM32 с помощью Ceedling. Моя проблема в том, что Ceedling использует crt0.S в качестве файла запуска, но мне нужно вместо него использовать .S (иначе он продолжает выходить из строя). Можно ли это где-то указать в project.yml? Вот мо…
22 мар '21 в 20:13
3 ответа

Как запустить модульные тесты stm32 на ПК с Linux?

Я пытаюсь выполнить модульное тестирование (используя unity+ceedling) некоторого кода STM32 на моей Linux-машине, но каждый раз, когда я обращаюсь к любому регистру, код выходит из строя с этой ошибкой: > Produced no final test result counts in $…
24 мар '21 в 23:02
0 ответов

ceedling/cmock: имитация вариативных функций или параметр va_list

Я пытался издеваться над этим кодом: int myPrintf(const char *fmt, ...); int myVprintf(const char *fmt, va_list args); для обеих функций генерируется неправильный код. Например: typedef int (* CMOCK_myPrintf_CALLBACK)(const char* fmt, int cmock_num_…
27 мар '21 в 18:26
1 ответ

Ошибка Ceedling при попытке скомпилировать / связать с xc16-gcc

Я пытаюсь реализовать разработку на основе тестов для своего процесса встраиваемой системы Microchip, и я пытаюсь сделать это через Ceedling (Unity, CMock и т. Д.). Я пытался следовать этому руководству: https://spin.atomicobject.com/2012/10/22/gett…
20 апр '21 в 16:55
0 ответов

Как использовать разные заголовочные файлы для каждого теста?

Я пытаюсь протестировать встроенную библиотеку, над которой я работаю, с помощью ceedling (unity + cmock). Некоторая часть кода условно скрыта с помощью #ifdef DEFINE_NAME ... #else ... #endif блок, и у меня есть файл заголовка конфигурации (наприме…
23 май '21 в 19:33