TZTesterを更に改良する
nitoyonさん、cafelierさん、naoya_tさんのを参考に、TZTesterを更に改良しました。
ベースとしてcafelierさんのものを利用しました。
ここでダウンロードできる最新バージョンでは以下の特徴があります。
- テストケースを追加しやすい
- テストケースごとの実行時間がわかる
- doubleの誤差チェック
これをもとに更に使い勝手がよくなるように以下の機能を追加。
- 実行時のメモリ使用量を表示(/proc/statusを使用)
- インデントが崩れないようにテストケースに中括弧{}を追加
- 実行時の引数で実行するテストケースを指定可能に
- テストケースの入力値を任意で表示可能に
1番については適当です、実際の使用量とどれくらい合ってるか確認していないです。
2番は、ベースのTZTesterではEmacsなどでインデントが崩れてしまうため、テストケース生成マクロに関数っぽく括弧をつけました。
3番は、任意のテストケースのみを実行できるように引数で指定できるようにしました。指定しなければ全て実行されます。
自然数を指定でそのテストケースのみ実行できます。 (0で0番実行, 1で1番実行など)
負数を指定であるテストケース以降を全て実行します。(-1なら0以降, -2なら1以降, -3なら2以降など)
4番は、実行時の引数に-vを付けると各テストケースの入力値が表示されます。デフォルトは表示されません。
コンパイル済みのTZTesterとソースコードはここ(github)にあります。
使い方はオリジナルのTZTester.jarを置き換えるだけです。リネームはできません。
それほど多くのパターンでチェックを行なっていないので、まだバグがある可能性も多いです。
もしバグが見つかったり、ほしい機能があればコメントなどで教えてください。