3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Cpputestのマルチプラットホーム環境構築からチュートリアルまで

Last updated at Posted at 2017-03-20

CppUTest環境のマルチプラットホーム環境構築からチュートリアルまで

2017年3月版

課題

組み込みC言語の世界でもTDDできるらしい
というかレガシーコードをテストする環境だけでも切実に欲しい。。。
そんなときCppUTestなるフレームワークがオススメと偉い人が言っていた
ついでに職場の環境もついにwindows10に移行したしこのタイミングで色々やっときたい
当然ながら自分のMacとマルチプラットホームに対応してくれないと困る
windowsは特に環境構築がめんどうなので手探りで進めることに。。。
というかCppUTestの日本語情報って少ないですね

各種ソフトのバージョン

  • windows10 64bit

    • cygwin 2.7.0
      • autoconf 2.69
      • automake 1.9.6
      • cmake 3.6.2
      • gcc-core 6.3.0
      • gcc-g++ 6.3.0
      • gdb 7.10.1
      • git 2.8.3
      • libtool 2.4.6
      • make 4.2.1
    • CppUTest 3.8
  • macOS sierra 10.12.3

    • xcode 8.2.1
    • CppUTest 3.8

ちなみにIDEはCLion 2016.3.3を使っています
マルチプラットホームにも対応しててよい感じ

windows10環境の構築

  1. 64bit版cygwinを導入 (32bit版でもいいのかもしれない)

    • install from internet
    • Root Directory はデフォルトで (C:¥cygwin64)
    • local package はお好きにどうぞ
    • Direct Connection
    • Download sites は日本のサーバーを選ぶのが良いのでは (hogehoge.jpを探そう)
    • select packageで上記した環境を構築すること
  2. githubからCppUTestをcloneする

    • お好きなディレクトリを選んでどうぞ
    • 以下、CppUTestのディレクトリを<CppUTest>と表記します
  3. cygwinでCppUTestをビルドする
    とりあえず以下のコマンドをうてばOK

    cd <CppUTest>/cpputest_build
    ../configure
    make
    

    そのまま以下のコマンドをうてばきちんとインストールできたか確認できる

    make tdd
    

    テストが実行されてpassしたりignoreしたりするはず
    うまくインストールできていたら環境変数を設定しておくと良い

    CPPUTEST_HOME=<CppUTest>  
    

    なんならスクリプトもインストールしておくと良い

    cd <CppUTest>/scripts
    chmod u+x *.sh
    ./InstallScripts.sh
    
  4. CppUTestのバグ?に対応
    チュートリアルを拾ってきてビルドしてみるが。。。

    こんな感じで試してみる

    git clone https://github.com/davisford/cmake-cpputest
    cd cmake-cpputest
    mkdir build
    cd build
    cmake ..
    make
    

    そのまま適当にチュートリアルサンプルを拾ってきてmakeしても通らないっぽい!!!

    ’<CppUTest>/src/CppUTest/libCppUTest.a'をmakeするルールがないとかでエラーになる
    ライブラリファイルをきちんとしたディレクトリにコピーできてないっぽい

    <CppUTest>/cpputest_build/lib にある

    libCppUTest.a
    libCppUTestExt.a

    を**<CppUTest>/src/CppUTest** にコピーしてから上記のコマンドを実行。。。
    晴れてmakeできるようになりました

mac環境の構築

Homebrewでインストールできるらしいけどgitでやっちゃいました
git clone以下windowsと同様にするだけでよい

<CppUTest>/cpputest_build/lib にある

libCppUTest.a
libCppUTestExt.a

を**<CppUTest>/src/CppUTest** にコピー

を忘れないこと

おまけ:CLion環境の構築

macは特別なことは何もしないでいい
windowsもcygwinさえ設定すればいい
上記のチュートリアルサンプルをCLionで開くとcmakeのバージョン違いのために警告が出るが、ビルドに問題はない
CLionであればbuildのconfigでProgram argumentsに-vを追加しておくとテスト結果が常に見られて捗る

まとめ

とりあえず自分がcygwin導入からCppUTest環境構築まで一気通貫の日本語解説を欲しいと思ったので
ここまでやればでスタート地点には立てるのでは
今はひとまず手探りで英語と戦いながらゴリゴリとテストを書いております

参考文献

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?