TTSP事始

TTSP(TOPPERS Test Suite Package)がリリースされてから半年が過ぎているが、ググってもあまり使われている形跡がなさそう*1

ASPカーネルがビルドできてsample1アプリケーション動いてるけど、次どうしよう…からTTSPでテストをパスしたよ!までを簡単にまとめてみたい。

環境構築

ということなので、ASPカーネルのビルドができていれば、あとはrubyをインストールする。
今回インストールしたのは次のバージョン

$ ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin]

ファイルの展開

TTSPのファイルを解凍したら、ASPのフォルダへ移動する

$ tar xvzf ttsp_1.0.0.tar.gz
$ mv ttsp (ASPのフォルダ)

マニュアルは?

ttsp/user.txtをよく読みましょう。私は読まなかったので最初はまりました。

TTSPを実行する前に

まずはTTSPのターゲット依存部を作成する必要がある…が今回はそこを最小限の変更ですします*2

configure.shの修正

ttsp/configure.shのTARGET_NAMEを使用しているターゲット名に変更する
apsh4_gccというターゲット依存部とした場合は次のようになる

#
# ターゲット略称の定義
#
TARGET_NAME="apsh4_gcc"
ターゲット依存部フォルダの作成(じゃなくて仮にコピー)

ttsp/library/ASP/targetフォルダの下に自分が使用しているターゲット依存部フォルダをコピーする

$ cd ttsp/library/ASP/target/
$ cp -rp at91skyeye_gcc/ apsh4_gcc

ttsp_target_test.hの中身をターゲットに応じて変更する。

コピーしたターゲット依存部フォルダからconfigure.yamlを削除し、

$ cd apsh4_gcc/
$ rm configure.yaml

ttsp_target.shの以下の部分を"false"に変更する

#
# ターゲット依存APIの有無
# [true: 有り,false: 無し]
#
FUNC_TIME="true"		# システム時刻制御関数
FUNC_INTERRUPT="false"	# 割込み発生関数
FUNC_EXCEPTION="false"	# CPU例外発生関数

TTSPの実行

ttspフォルダに戻ってTTBを走らせる
======================================================================
 TTSP main menu
======================================================================
 1: API Tests
 c: Check the Functions for Target Dependent
 k: Kernel Library
 q: Quit
----------------------------------------------------------------------
 Please input menu no:1
APIテストを選択「1」
======================================================================
 API Tests
======================================================================
 1: Auto-Code Test
 2: Scratch-Code Test
 3: Configuration Error Test
 4: Test for specified TESRY
 r: Return to main menu
 q: Quit
----------------------------------------------------------------------
 Please input menu no:1
オートコードテストを選択「1」

======================================================================
API Tests (Auto-Code Test)
======================================================================
1: Generate a MANIFEST file for All TESRYs
2: Generate a MANIFEST file for each functions
3: Generate a MANIFEST file divided by specified number
4: Build all program files (No.5-8)
5: Make MANIFEST folders
6: Execute TTG
7: "make depend" for each MANIFEST folders
8: "make" for each MANIFEST folders
9: "make clean" for each MANIFEST folders
a: "make realclean" for each MANIFEST folders
e: Run executable module (Target Dependent)
r: Return to main menu
q: Quit

                                                                                                                                          • -

Please input menu no:1

MANIFESTファイルを作成「1」

ttsp/api_test/ASPフォルダに各テストフォルダとテストケースのyamlファイルが生成されます

makからTTGの実行まで
======================================================================
 API Tests (Auto-Code Test)
======================================================================
 1: Generate a MANIFEST file for All TESRYs
 2: Generate a MANIFEST file for each functions
 3: Generate a MANIFEST file divided by specified number
 4: Build all program files (No.5-8)
 5: Make MANIFEST folders
 6: Execute TTG
 7: "make depend" for each MANIFEST folders
 8: "make" for each MANIFEST folders
 9: "make clean" for each MANIFEST folders
 a: "make realclean" for each MANIFEST folders
 e: Run executable module (Target Dependent)
 r: Return to main menu
 q: Quit
----------------------------------------------------------------------
 Please input menu no: 4


======================================================================
Build all program files (No.5-8)
======================================================================
make auto_code_1 folder

----------------------------------------------------------------------
Execute TTG in auto_code_1
----------------------------------------------------------------------
[TTC]########################################################################################################:100.0% [ 1699 test cases passed.                ]
[TTG]########################################################################################################:100.0% [ 1699 test cases passed.                ]
[IMC]########################################################################################################:100.0% [ 1699 test cases passed.                ]

----------------------------------------------------------------------
make depend in auto_code_1
----------------------------------------------------------------------

...以下テストプログラムのビルドステップへ

*1:社内で使っているっていう話は耳にしますが

*2:もちろんあとで作らなきゃいけないけど