Yash 2 その 276: テスト全面書き換へ完了
Yash の自動テストを全面的に書き換へる作業が完了した。半年近くかかるとは。
これまでの自動テストと同じ内容のテストをすべて書き下ろした。これまではジャンルごとに 36 のファイルにテストが分かれてゐたが、それぞれのファイルは一つのシェルプロセスで一気に実行されてゐたので、一つのファイルに書かれたたくさんのテストが影響し合ふわテスト結果もごちゃ混ぜだわで扱ひにくかった。今度のは、ファイルをジャンルごとに分けるだけでなく、それぞれのテストケースを分けて書く様にした。また、これまではテストのためにシェルに実行させるコードとシェルからの期待される標準出力・標準エラー出力の内容とが別別のファイルに書いてあって編集が面倒だったが、今度のではテストケースごとに入力も出力もまとめて書く様にした。しかも、テストケースごとに別別のシェルプロセスで実行するのでテストケースが互ひに影響し合ふこともない。
テストケースの定義はシェルスクリプトの中に書く仕組みにした。エイリアスやヒアドキュメントを駆使してテストケースの定義をだいぶ簡潔に書ける様にした。興味があったら見てみて欲しい。
現在、テストケースは全部で 3642 件ある。テストを実行する度にテストケースの合計数・成功数・失敗数を出力する様にした。テストケースを書く毎に増えてゆく数字を見るのは純粋に心地良い。これは作業のやる気を保つのになかなか役立った。
書き換への副作用として、yash に新たなバグがいくつか見付かった。コメントアウトしたテストケースとしてファイル内に書き残してある。今後順次修正してゆく所存だ。
| 固定リンク
コメント