Go to the first, previous, next, last section, table of contents.


テストスイートのサポート

Automakeは二つの形式のテストスイートをサポートします.

単純なテスト

変数TESTSが定義されている場合,その値はテストを行なうために実行す るプログラムのリストになります.プログラムは,派生するオブジェクトあるい はソースオブジェクトです.生成される規則はsrcdir`.'の両方 で探します.データファイルを必要としているプログラムは,(環境変数とmake 変数の両方の)srcdirでそれらを探すので,それらは,別々のディレクト リでビルドするとき(see section `Build Directories' in The Autoconf Manual),特にdistcheckターゲットに対して 動作します(see section 配布物に含まれるもの).

失敗の数は実行後に出力されます.所定のテストプログラムが77のステータスで 終了する場合,その結果は最終的なカウントで無視されます.この機能で,非移 植性のテストが意味をなさない環境で無視することができます.

変数TESTS_ENVIRONMENTは,テストの実行に対して環境変数を設定するた めに使用することが可能です.環境変数srcdirは,規則内に設定されま す.すべてのテストプログラムがスクリプトの場合,TESTS_ENVIRONMENT をシェルの呼び出しに設定することが可能です(例えば`$(SHELL) -x').こ れはテストをデバッグするときに役立つはずです.

変数XFAIL_TESTSを,失敗を期待するテストのリスト(通常は TESTSのサブセット)に定義してもかまいません.これは,それらのテス トの結果を反転します.

Automakeは,TESTSでリストアップされているそれぞれのプログラムが, テストを実行する前にビルドされることを確実にします.ソースと派生するプロ グラムをTESTSにリストアップすることが可能です.例えば,テストとし てCプログラムを実行したいかもしれません.こうするためには,その名前を TESTScheck_PROGRAMSにもリストアップし,それを他のプログ ラムとして指定します.

DejaGNUのテスト

`dejagnu'AUTOMAKE_OPTIONSにある場合,dejagnuベースのテストスイート が想定されます.変数DEJATOOLは,runtestの呼び出しに --tool引数として,一度に渡される名前のリストです.それはパッケー ジの名前をデフォルトとします.

変数RUNTESTDEFAULTFLAGSは,デフォルトでdejagnuに渡される --tool--srcdirフラグを保持します.必要な場合は,これで優 先することが可能です.

変数EXPECTRUNTESTで,プロジェクト特有の値を提供するため に優先することが可能です.例えば,コンパイラツールチェインをテストする場 合,デフォルト値はホストとターゲットの名前を考慮しないので,こうする必要 があります.

変数RUNTESTFLAGSの内容は,runtestの呼び出しに渡されます. これは,"ユーザ変数"(see section ユーザに対して予約されている変数)として扱われます. `Makefile.am'runtestフラグを設定する必要がある場合,代わり にAM_RUNTESTFLAGSを使用することが可能です.

Automakeは,./configureで検出した様々な変数を定義するローカルな `site.exp'ファイルを生成するための規則を生成します.このファイルは, 自動的にDejaGnuで読み込まれます.パッケージユーザがテストスイートを調整 するためにこのファイルを編集することは問題ありません.しかし,テストスイー トの著者が新しい変数を定義する場所に書くものではありません.これは,実際 のテストスイートのコードのどこかでなされるべきです.特に, `site.exp'を配布すべきではありません.

どちらの状況でも,テストは`make check'で実行されます.

インストールテスト

installcheckターゲットは,パッケージがインストールされた後でテス トを実行する方法をユーザが利用可能にします.installcheck-localター ゲットを書くことで,これをテストに追加することが可能です.


Go to the first, previous, next, last section, table of contents.