Ich verwende Google-Test für fast alle Teile meines Projekts mit Ausnahme der MCU (STM32F1) -Firmware. Nun möchte ich es für Tests direkt auf MCU verwenden, um sicherzustellen, dass ich keine maschinenabhängigen Fehler gemacht habe, die Tests auf x64 bestehen, aber auf der MCU fehlschlagen. Google-Test erfordert libpthread, die offensichtlich nicht auf der MCU vorhanden ist. Ich benutze anspruchsvolle gcc 5.2.1 toolchain, so dass es g++
sollte in der Lage sein, google test zu bauen. Systemaufrufe sind ebenfalls korrekt definiert, daher sollte die Testausgabe erfolgreich kompiliert und auf die serielle Konsole gedruckt werden.Google-Test auf Bare-Metal-Stm32 MCU
Ist es möglich, libpthread in Google Test zu deaktivieren und es für einen Bare-Metal-Mikrocontroller zu bauen? Hat jemand Erfahrung damit Unit-Tests zu verwenden?
Google-Test hat eine "gtest_disable_pthreads" -Flag, die Sie festlegen können, um Pthreads nicht zu verwenden. Keine Ahnung, ob dies ausreicht, um Tests auf einer MCU laufen zu lassen. – helloworld922
Versuchen Sie, gtest mit '-DGTEST_HAS_PTHREAD = 0' zu erstellen – Mine