このファイルの最新のコピーは、SourceForge の STP プロジェクト用 CVS ツリーに stp/docs/design/HOWTO.Port_Tests として存在します。
以下の手順は、STP フレームワークにポートされているテストを取得するものです。
- SourceForge の STP プロジェクトに参加します(電子メールで にアクセスします)。
- テストをポートしたい旨を 宛に知らせます。
注 : SourceForge の stp-tests リストに参加することを推奨します。
- ポートしたいテストのコピーを取得します。
- このスクリプトを使ったテストの結果が公開可能であることを確認します。
注 : 結果の制限事項は stp-tests リストで通知します。
注 : テスト自体には、ライセンス上の別の制限事項があり、OSDL では OSI(Open Source Initiative)が承認したライセンスのテストのラッパーのみ使用しています。
- テストを展開し、configure、build、実行するスクリプトを作成します。
参照:以下の「ディレクトリ構造」
- STP プロジェクトの CVS コピーを SourceForge から取得します。
注 : 匿名ユーザとしてこれを行わないでください。取得後テストを確認する必要があります。
例:
export CVS_RSH=ssh
cvs -d:ext::/cvsroot/stp co stp
- テストディレクトリの名前(例えば、lmbench-noram)を選択します。
注 : これはテスト用の内部 STP コードであり、一意でなければなりません。
注 : 取得依頼はグループに分けず、ディレクトリ当たり 1 つのテストシーケンスにします。
注 : このドキュメントでは、このディレクトリ/コードを [test code] と呼びます。
- 例 :
CVS:stp/wrappers/dbench-quick/ を参照してください。
- 自動化の要求を処理する、同様のスクリプトを作成します。
参照 : 以下の「ラッパースクリプト」
参照 : 以下の「ベンチマークまたは検証」
例 : CVS:stp/wrappers/dbench-quick/wrap
注 : このスクリプトに名前を付けます。例えば、[test code]/wrap
- 結果を分析できるスクリプトを作成して、
index.html ファイルを生成します。
注 : これは必須ではありませんが、結果を理解しやすくするため、将来検討してください。
例 : CVS:stp/wrappers/dbench-quick/results
参照 : 以下の「結果スクリプトの注意事項」
- スクリプト(複数も可)を
CVS:stp/wrappers/[test name code]/ ディレクトリに置きます。
参照 : 以下の「特定ハードウェアのテスト」
- 別の必須ファイルを
[test code] ディレクトリに置きます。
参照 : 「必須ファイル」
- CVS ツリーの新しいディレクトリ
[test code] とスクリプトを確認します。
ディレクトリ構造:
作成したスクリプトを実行しているマシンには、以下の重要な配置があります。
/mnt/ |
テスト、ラッパー、スクリプト、tar ファイルやその他のファイルがコピーされる場所 |
テストパッケージやスクリプトがコピーされ、スクリプトが実行される場所 |
/mnt/Results/ |
テスト結果を保存するための場所 |
/mnt/wrap.sh |
STP システムが実行するスクリプト |
/mnt/results.sh |
結果を HTML 形式で表示させるために必要なあらゆるスクリプト |
最終結果は、後で参照できるように、以下の場所に保存されます。
[test request number]/ |
|
/environment-information/ |
(自動的に収集) |
/Results/ |
(./Results/ のコピー+グラフ) |
/test_configuration.info |
テスト要求で使用されるオプション |
/.recovery_file.data |
(STP の内部データ) |
/index.html |
(このテスト結果を見ようとする際にアクセスするファイル) |
最終結果のファイルから、index.html を直ちに作成するか、CVS:stp/wrappers/[test name code/index.html として含めます。
いずれにしても、index.html ファイルが必要です。そうでないと、結果を後で確認することができません。
ラッパースクリプト:
スクリプトの出力結果はユーザにメールされます。これで、stats ダンプを使ってエラーの機能のみを修正するか、完全な更新を行います。スクリプトが何も出力しない場合には、結果を参照する場所を表すポインタ以外はユーザに何も通知されません。
ベンチマークまたは検証?
テストで正当性のチェックのみを行う場合は、テストの結果を出力し、同じテキストを results ディレクトリのファイルに保存するようにします。
これで、ユーザが受信する電子メールから十分な情報が取得でき、Web サイトで結果を調査する必要がなくなります。
特定ハードウェアのテスト
テストが、実行されているシステムの種類に依存する特定の設定を必要する場合は、これらの設定を検出するロジックを含めるか、次の命名法による複数のスクリプトを作成してください。
(name-of-test)_(#)CPU_(#)RAM_(#)DISK.(wrap|result)
例:dbench_4CPU_2GBRAM_5GBDISK.wrap
ただ、これはお勧めできません。近い将来、ユーザの要求するインターフェースを通じて、これらの情報を直接スクリプトに記述する能力を付け加える予定です。その場合、複数のスクリプトの必要性はなくなります。
必須ファイル
テストが有するハードウェアの制限事項のリストを含めることができます。例えば、「running dbench-lite on a 32proc system with 64gigs of RAM would be worthless 」。このリストを、スクリプトの最初のドキュメンテーションセクションに置きます。
スクリプトに著作権情報を含めます。使用するライセンスのコピーを
[test code] ディレクトリに含めます。
index.html ファイル(「ディレクトリ構造」の項にて説明)は、[test code] ディレクトリに置きます。このファイルは、ユーザがテスト結果を知りたい場合に STP システムがユーザに示すファイルです。
テストで必要な他のファイルも、[test code] ディレクトリに置きます。
実際のテストやソース、その他のファイルのコピーを含めてはいけません。
結果スクリプトの注意事項
結果スクリプトは、ラップスクリプトによっては呼び出されません。結果スクリプトはユーザが要求すると Web インターフェースによって呼び出されます。cgi インターフェースでは、以下の構文を使用してユーザスクリプトを呼び出します。
results.sh [/target/path/for/report] (要約する必要がある多くのテスト結果のディレクトリの場所)
例:results.sh /var/www/result234342/ /data/run43 /data/run827 /data/run234
スクリプトはデータディレクトリを参照して、ラップスクリプトが保存した結果を処理する必要があります。これらのディレクトリは、ラップスクリプトがそれぞれのテストの /root/results/ ディレクトリに保存した結果の直接ダンプになります。ユーザは、自分のスクリプトが渡された /var/www/whatever の index.html ファイルに関連付けられます。この html ファイルは、選択した実行に関連する情報にユーザを関連付けます。要約の生成に問題がある場合は、エラー情報を管理者に問い合わせる指示と共に index.html ファイルに保存してください。保存する指示は、有効な比較情報に関する場合もあります。
|