Я использую тест Google практически во всех частях моего проекта, кроме микропрограммы MCU (STM32F1). Теперь я хочу использовать его для тестов непосредственно на MCU, чтобы убедиться, что я не делал никаких машинно-зависимых ошибок, которые могут пройти тестирование на x64, но не сработать на MCU. Тест Google требует libpthread, который явно отсутствует на MCU. Я использую сложный инструментарий GCC 5.2.1, так что это g++
должен быть в состоянии построить тест Google. Системные вызовы также правильно определены, поэтому результаты тестов должны быть успешно скомпилированы и выведены на последовательную консоль.
Можно ли отключить libpthread в тесте Google и собрать его для чистого микроконтроллера? У кого-нибудь есть опыт использования юнит-тестов таким образом?
Из документа 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
при сборке гтест.
Поэтому проверьте вашу среду и посмотрите, соответствует ли она требованиям (особенно для regex.h
).
Других решений пока нет …