Assurer - サーバテスティングフレームワーク #4

Assurer (SVN) を修正。テストのターゲットとなるホストを、以下の3つのパターンのいずれかで指定できるようにしてみました。

config.yaml 中のテストプラグイン設定で直接指定

test:
  - module: HTTP
    config:
      host: svn.mizzy.org
      content: It works!

一番オーソドックスなパターンですね。

コマンドラインオプションで指定

test:
  - module: HTTP
    config:
      content: It works!

といった感じで config.yaml には host を書かずに、

$ ./assurer.pl --config=configy.yaml --host=svn.mizzy.org

とコマンド実行時に指定。同じテストを複数のホストに対して実行する場合、いちいち config.yaml を書き換えるよりも、こっちの方が楽ですね。

config.yaml でターゲットホストをリストで指定

test:
  - module: HTTP
    config:
      content: It works!

hosts:
  - svn.mizzy.org
  - trac.mizzy.org

2番目のパターンと同じ用に、テストプラグインの設定には host を記述しませんが、別なところにターゲットホストをリストアップしておきます。複数のホストに対して一気に実行するのであれば、この方法が楽ですね。

これの変形で、

test:
  - module: HTTP
    role: web
    config:
      contnet: It works!

  - module: MySQL
    role: mysql

hosts:
  web:
    - svn.mizzy.org
    - trac.mizzy.org
  mysql:
    - mysql.mizzy.org

といった感じで設定すると、HTTP のテストは svn.mizzy.org と trac.mizzy.org に、MySQL のテストは mysql.mizzy.org に対して実行される、という動作になります。(MySQL テスト用プラグインはまだ存在しませんが。)

複数の役割の異なるホストに対してテストを実行するには、このパターンで。

最後のやつは Archer からのインスパイヤです。