テスト

新しい機能を実装した時・バグを直した時は、リグレッションテストを作ります。

概要

リグレッションテストはsql/ディレクトリー以下にあります。例えば、sql/full-text-search/text/single/match-v2/indexscan.sqlは次のケース用のテストです。

出力の期待値はexpected/ディレクトリー以下にあります。ディレクトリー構造はsql/と同じですが、拡張子は.outになります。たとえば、expected/full-text-search/text/single/match-v2/indexscan.outとなります。

リグレッションテストの作成方法

新しいファイルをsql/以下に作り、SQLで作ったテストシナリオをそのファイルに書きます。それからこのファイルを次のように実行します。

% PATH=/tmp/local/bin:$PATH test/run-sql-test.sh sql/.../XXX.sql

この新しく作ったテストは失敗します。test/run-sql-test.shはこのテストシナリオの出力を表示します。出力が正しければ、出力をコピーしてexpected/.../XXX.outに貼ります。

expected/.../XXX.outを更新してテストがパスするようになったかを確認してください。

% PATH=/tmp/local/bin:$PATH test/run-sql-test.sh sql/.../XXX.sql