読者です 読者をやめる 読者になる 読者になる

TZTesterを更に改良する

nitoyonさんcafelierさんnaoya_tさんのを参考に、TZTesterを更に改良しました。

ベースとしてcafelierさんのものを利用しました。
ここでダウンロードできる最新バージョンでは以下の特徴があります。

  • テストケースを追加しやすい
  • テストケースごとの実行時間がわかる
  • doubleの誤差チェック

これをもとに更に使い勝手がよくなるように以下の機能を追加。

  1. 実行時のメモリ使用量を表示(/proc/statusを使用)
  2. インデントが崩れないようにテストケースに中括弧{}を追加
  3. 実行時の引数で実行するテストケースを指定可能に
  4. テストケースの入力値を任意で表示可能に

1番については適当です、実際の使用量とどれくらい合ってるか確認していないです。
2番は、ベースのTZTesterではEmacsなどでインデントが崩れてしまうため、テストケース生成マクロに関数っぽく括弧をつけました。
3番は、任意のテストケースのみを実行できるように引数で指定できるようにしました。指定しなければ全て実行されます。
自然数を指定でそのテストケースのみ実行できます。 (0で0番実行, 1で1番実行など)
負数を指定であるテストケース以降を全て実行します。(-1なら0以降, -2なら1以降, -3なら2以降など)
4番は、実行時の引数に-vを付けると各テストケースの入力値が表示されます。デフォルトは表示されません。

コンパイル済みのTZTesterとソースコードここ(github)にあります。
使い方はオリジナルのTZTester.jarを置き換えるだけです。リネームはできません。
それほど多くのパターンでチェックを行なっていないので、まだバグがある可能性も多いです。
もしバグが見つかったり、ほしい機能があればコメントなどで教えてください。