2016-07-18 12 views
2

MCU(STM32F1)ファームウェア以外のほとんどのプロジェクトでGoogleテストを使用します。今ではMCUで直接テストに使用して、マシン依存のバグを作らないようにしたいと考えています。これはx64のテストに合格する可能性がありますが、MCUでは失敗します。 Googleテストでは、明らかにMCUにはないlibpthreadが必要です。私は洗練されたgcc 5.2.1ツールチェーンを使用しているので、g++はGoogleテストを構築できるはずです。システムコールも適切に定義されているため、テスト出力はシリアルコンソールに正常にコンパイルされ、出力されます。ベアメタルstm32 MCUのGoogleテスト

Googleテストでlibpthreadを無効にして、ベアメタルのマイクロコントローラ用にビルドすることはできますか?誰かがこのように単体テストを使う経験はありますか? GTESTのドキュメントから

+1

Googleテストには、gtth_disable_pthreadsフラグがあります。このフラグには、pthreadを使用しないように設定できます。これがMCUでテストを実行するのに十分であるかどうかは考えられません。 – helloworld922

+0

'-DGTEST_HAS_PTHREAD = 0'でビルドgtestを試す – Mine

答えて

2

Linuxの要件

これらは、基本要件(後述) ソースパッケージからGoogleのテストを構築し、使用するために、次のとおりです。

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

pthreadはgtestを構築するために必須ではありません。あなたはgtestを構築するときに-DGTEST_HAS_PTHREAD=0によってそれを無効にすることができます。

環境を確認し、要件を満たしているかどうかを確認してください(特にregex.hの場合)。