• このエントリーをはてなブックマークに追加

はじめに

cmockネタの続きです。指定されたディレクトリに含まれる全てのヘッダファイルに対するモックファイルを自動作成してみようと思います。

恐るべきレガシーコードの救世主になるか?!ドロドロ依存なモジュールたちを『CMock』ですっ裸にする | Futurismo

事前準備

サンプルは前回と同じ。

git clone git://github.com/ThrowTheSwitch/CMockExample.git

cmockからlib/ config/をプロジェクトにコピーしてきます。

今回のシェルスクリプト

やりたいこと

  1. mocksディレクトリがなければ作成
  2. 指定されたディレクトリ配下のhogehoge.hからMockhogehog.cを生成。

結果

いい感じに、mocks配下にMockhogehogeが生成されました。

tsu-nera@TSUNEMICHI-VAIO ~/temp/CMockExample
$ ./generate_mocks.sh src
mocks directory is not exist, make directory.
Creating mock for Gpio…
Creating mock for LedControl…
Creating mock for main…
Creating mock for System…

tsu-nera@TSUNEMICHI-VAIO ~/temp/CMockExample
$ ls mocks/
MockGpio.c  MockGpio.h  MockLedControl.c  MockLedControl.h  Mockmain.c  Mockmain.h  MockSystem.c  MockSystem.h

今後の展望

気づいた。モックファイルを生成しても、これをコンパイルするためには、Makefileをかかなければいけない。(´・ω・`)

というわけで、今度はMakefile自動生成をするための方法を調査してみる。うーん、圧倒的なスキル不足だ。スクリプト言語を身につけたい。