はじめに

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自動生成をするための方法を調査してみる。うーん、圧倒的なスキル不足だ。スクリプト言語を身につけたい。