#!/bin/sh UNITTEST_MAIN_H=src/unittest_main.h UNITTEST_MAIN_C=src/unittest_main.c # 登録関数 REGIST_FUNCS=`grep UT_regist_* src/ut_*.c | sed "s/.*UT_regist_\(.*\)\s*(\s*void\s*).*/UT_regist_\1/"` # ====================================================================== # ヘッダファイル出力 # ====================================================================== cat <<EOF > ${UNITTEST_MAIN_H} #ifndef __UNITTEST_MAIN_H__ #define __UNITTEST_MAIN_H__ EOF for f in ${REGIST_FUNCS}; do echo "void ${f}(void);" >> ${UNITTEST_MAIN_H} done cat <<EOF >> ${UNITTEST_MAIN_H} #endif /* __UNITTEST_MAIN_H__ */ EOF # ====================================================================== # ソースファイル出力 # ====================================================================== cat <<EOF > ${UNITTEST_MAIN_C} #include <sc_unittest.h> #include "unittest_main.h" /** * 単体テスト実行。 * * @param argc 引数の数 (未使用) * @param argv コマンド引数 (未使用) */ int main(int argc, char* argv[]) { EOF for f in ${REGIST_FUNCS}; do echo " ${f}();" >> ${UNITTEST_MAIN_C} done cat <<EOF >> ${UNITTEST_MAIN_C} SC_Unittest_run(); return 0; } EOF