Table of Contents
pkgsrc の基盤は多くのコードベースの集合体であり、 熟考のすえ作られた各小片の周辺を少し変更しただけで pkgsrc が使い物にならなくなるであろう曲り角がたくさんあります。 ほとんどの変更によって pkgsrc が壊されることを防ぐため、 pkgsrc の基盤の重要な部分に変更を加える場合は、 常に一連の退行テストを実行するようにします。 本章では、pkgsrc において退行テストがどのように機能するか、および、 新しいテストをどのように追加すればよいかを、説明します。
まず、pkgtools/pkg_regress
パッケージをインストールする必要があります。
このパッケージには pkg_regress コマンドが附属しており、
あとは、このコマンドを実行するだけで、
regress
カテゴリーにあるテストをすべて実行してくれます。
regress
カテゴリー内のディレクトリーのうち、
spec
というファイルを含むものは、
それぞれがひとつの退行テストに対応しています。
spec
ファイルはシェルプログラムで、
pkg_regress コマンドからインクルードされます。
以下の関数は、必要に応じて上書きすることができます。
各関数は引数をとりません。関数はいずれも、 “set -e” された状態の下で呼ばれるので、 テストにおいて実行される各コマンドの終了コードを、 注意して確認してください。
do_setup()
この関数は、テスト用に環境変数を準備します。 標準では、何もしません。
do_test()
この関数は、テストを実際に実行します。
標準では、この関数は TEST_MAKE
を
引数 MAKEARGS_TEST
で呼んで、
エラーメッセージをはじめとする出力をファイル
TEST_OUTFILE
に書き込みます。
check_result()
この関数は、テスト実行後に実行するもので、 ふつうは、実際の出力を予想したものと比較するために使います。 これにより、次節のようなさまざまな補助関数が使えるようになります。
do_cleanup()
この関数は、テストの実行が終わった後に、 すべての掃除をします。標準では、何もしません。