LSL Test Harness/ja

From Second Life Wiki
Jump to navigation Jump to search

LSLテストハーネスは、i3D社によるリンデンラボの開発したLSLスクリプトをテストするためのプラットフォームです。SecondLifeデベロッパは頻繁な更新を確実に行い確認するために使うことができます。このテストハーネスは(クリエイティブコモンライセンスAttribution-ShareAlike 2.5の範囲内において)自由にダウンロードして使用可能です。

LSLテストハーネスは三つ以上のインワールドオブジェクトから構成されています。きちんと適切なオブジェクトに適切なスクリプトとノートカードを置くことで、いくつかの標準の木目箱プリムからでも作ることが出来ます。

コントローラ

テストハーネスに命令するためのコントローラのインターフェイスを準備します。チャットチャンネルにて命令を聞くことで起動するでしょう。タッチベースのコントローラを作ることも可能です。

  • オブジェクトをrezもしくは作成して、Controllerと名づけます。
  • Controller_Controllerを入れます。(ここからコピーペーストできます)

コーディネータ

コーディネータはコントローラと実際のテストユニット自身の間の接続をおこないます。

  • オブジェクトをrezもしくは作成して、Coordinatorと名づけます。
  • 以下のスクリプトを入れます。 (リンク先からコピーペーストで利用可能です。)
  • 直ちにノートカード Coordinator_nc を入れて開きます。
    • ハーネスからEメールで結果を送りたいなら、Eメール欄にEメールアドレスを入れます。
    • ハーネスからレポートをhttpで送信したいなら、Http欄にURLを入れてください。

テストユニット

テストユニットがLSLテストを実際におこないます。そのため、テストを行なうための汎用スクリプトに加えて、有効なテストするコードで構成されています。必要に応じていくつものテストユニットを作ることになるでしょう。テストスクリプトの作成における足掛かりとして、コードレポジトリ(このページにあります)を含んだいくつかの例がテンプレートのように使えるでしょう。

  • オブジェクトをrezもしくは作成して、何か名称(たとえば、Test Unit - Rotations)をつけます。
  • スクリプト TestUnit_TestHarnessを入れます。
  • ノートカード TestUnit_ncを入れます。
    • ノートカードを開いて、ユニット名欄とグループ名欄を編集します。
      • ユニット名とは、あなたがつけたい特定のテスト名のことです。
      • (Mathとグループ名を定義するとして、)もし全てをMathとしてテストユニットでテストするようにしたい場合は、グループ名にテストグループを指定します。
  • [GroupName]_[UnitName]と名づけられたテストスクリプトをいれます。
    • テンプレートとして TestUnit_TestScript.lslが使えます。
    • 望ましい区分をテストlslに入れることで、結果を報告します
  • あるいは、 Test Harness Sample Testsに幾つかサンプルスクリプトがあります。

コマンド群

一組のrezされたコントローラ、コーディネータと全テストユニットそれぞれに、チャット可能な距離を確保して、コントロールチャンネル(初期値1234)にて以下のコマンドを出力することができます。

  • ActivateRegistration はコーディネータのチャット範囲にある全テストユニットへの処理を実行するでしょう。
  • ActivateTest は全ての選択されたテストユニットを実行するでしょう。
  • ActivateReport は指定された形式(chat, email, http)でのレポートを出力するでしょう。
  • Reset は全てのテストユニットをリセットするでしょう。
  • SetTestSelected は指定のテストユニットを実行するでしょう。
    • SetTestSelected::All 範囲内のテストユニットをさします。
    • SetTestSelected::[GroupName] 全ユニットを含むグループをさします。
    • SetTestSelected::[UnitName] 指定のユニットをさします。
  • SetReportMethod は三つのレポート方法から選ぶことができます。
    • SetReportMethod::CHAT::channel::0 オープンチャット
    • SetReportMethod::EMAIL::address::あなたのメールアドレス 
    • SetReportMethod::HTTP::url::あなたのWebアドレス
  • SetReportType NORMAL, QUITE, VERBOSE, STATSからなるレポートの明確度
    • SetReportType::NORMAL
  • SetControlChannel  内部連絡チャンネルの変更に使用されます。
  • SetBroadcastChannel レポート出力用のチャットチャンネルです。(通常は0)

= LSLテストハーネス用レポジトリです。ハーネスの更新にあわせてwikiを更新しましょう。

=

Test Harness Control Buttons

Test Harness Controller

Test Harness Test Units

Test Harness PHP