Тест Google на голом железе stm32 MCU

Я использую тест Google почти для всех частей моего проекта, кроме прошивки MCU (STM32F1). Теперь я хочу использовать его для тестов непосредственно на MCU, чтобы убедиться, что я не допустил каких-либо машинно-зависимых ошибок, которые могут пройти тесты на x64, но не на MCU. Для теста Google требуется libpthread, которого явно нет в MCU. Я использую сложный набор инструментов gcc 5.2.1, поэтому он g++ должен быть в состоянии построить тест Google. Системные вызовы также правильно определены, поэтому выходные данные тестов должны быть успешно скомпилированы и напечатаны на последовательной консоли.

Можно ли отключить libpthread в тесте Google и собрать его для чистого микроконтроллера? Есть ли у кого-нибудь опыт использования юнит-тестов таким образом?


person Sergey    schedule 18.07.2016    source источник
comment
В тесте Google есть флаг gtest_disable_pthreads, который вы можете установить, чтобы не использовать pthreads. Не знаю, достаточно ли этого для запуска тестов на MCU.   -  person helloworld922    schedule 18.07.2016
comment
Попробуйте собрать gtest с помощью -DGTEST_HAS_PTHREAD=0   -  person Mine    schedule 18.07.2016


Ответы (1)


Из документа gtest:

Требования Linux

Вот основные требования для сборки и использования Google Test из исходного кода (как описано ниже):

GNU-compatible Make or gmake
POSIX-standard shell
POSIX(-2) Regular Expressions (regex.h)
A C++98-standard-compliant compiler

pthread не является обязательным для сборки gtest. Вы можете отключить его с помощью -DGTEST_HAS_PTHREAD=0 при сборке gtest.

Поэтому проверьте свою среду и посмотрите, соответствует ли она требованиям (особенно для regex.h).

person Mine    schedule 18.07.2016