dejagnu report card —
複数ツールに対するテスト結果の取りまとめ
dejagnu report card
[
⟨option⟩ |
⟨tool⟩ |
⟨file⟩] ...
The
dejagnu report card
コマンドは、
複数ツールによるテスト結果を表形式で表示します。
生成されるこの表においては、
以下の項目を一覧表示します。
各ツールごとに
(そして複数パスが実行された場合には、
各パスごとに)、
テストの成功数 (passed)、
失敗数 (failed)、 未対応数
(unsupported)、 未解決数 (unresolved)、
未実施数 (untested) です。
失敗することが予想されるテストは、
成功することが予想されるテストとは、
別カラムに分けてカウントされます。
ただし失敗することが分かっている
("known") テストと、
失敗が予想される
("expected") テストは、
まとめられます。
テストが警告やエラーを生成した場合、
関連する行の終わりに
‘
!W!
’ や
‘
!E!
’
というタグがつきます。
オプションでなく引数リストの場合には、
ツール名またはファイル名が含まれる場合があります。
dejagnu report card
コマンドは、 DejaGnu
概要ファイル (summary file)
を読み込もうとします。
そして、
その場合には名称の翻訳を行います。
- *.sum
- そのまま用います。
- *.log
- 同じベース名を用いて
*.sum
に書き換えます。
- *.
- 概要ファイルを用いるために、
文字列 sum
が後ろにつけられます。
この処理は、
シェル上の Readline
によって、
ファイル名補完を用いた場合の利便性のために行われるものであり、
補完がドットまで行われるからです。
- *
- ツール名として扱われます。
後ろに .sum
がつけられます。
-
-v,
--verbose
-
dejagnu report card
の操作自体を説明する追加情報を出力します。
dejagnu report card
コマンドが出力を生成する際には、
DejaGnu
によって作られた概要ファイルを読み込んで、
"PASS" や "FAIL"
などの数をカウントします。
引数に名前が指定されなかった場合、
カレントディレクトリ内の
*.sum
に一致するファイルすべてが読み込まれます。
$ dejagnu report card
__________________________________________________
/ PASS FAIL ?PASS ?FAIL UNSUP UNRES UNTEST
|--------------------------------------------------
launcher | 52 0 0 0 0 0 0
libdejagnu | 5 0 0 0 0 0 0
runtest | 135 0 0 0 0 0 0
|--------------------------------------------------
| 192 0 0 0 0 0 0
\__________________________________________________
3
つのツールがテストされました。
そこでは全部で 192
個のテストがあり、
すべて成功することが予想されているものです。
この例において、
テストはすべて成功
(pass) しています。
したがってこれ以外のカラムは、
すべてゼロになっています。
‘
?PASS
’ と
‘
?FAIL
’
のカラムは、
それぞれ失敗することが分かっている
(known) ものと、
失敗が予想される (expected)
ものであったもので、
実際には、
予想に反して成功したものと、
予想どおりに失敗したものを、
それぞれ示しています。
残りの 3
つのカラムは、
例外的な結果を示しているもので、
サポートされていない
(unsupported) テスト、 未解決
(unresolved) のテスト、
単純にテストしない
(untested)
ものとして宣言されているスタブテストをそれぞれ示しています。
$ dejagnu report-card
__________________________________________________
/ PASS FAIL ?PASS ?FAIL UNSUP UNRES UNTEST
|--------------------------------------------------
launcher | 52 0 0 0 0 0 0
libdejagnu | 5 0 0 0 0 0 0
report-card / awk | 36 0 0 0 0 0 0
report-card / sh | 36 0 0 0 0 0 0
report-card / tcl | 36 0 0 0 0 0 0
runtest | 135 0 0 0 0 0 0
|--------------------------------------------------
awk | 36 0 0 0 0 0 0
sh | 36 0 0 0 0 0 0
tcl | 36 0 0 0 0 0 0
|--------------------------------------------------
| 300 0 0 0 0 0 0
\__________________________________________________
‘
report-card
’
ツールに対して、
各実装ごとに 1 つ、
合計で 3
つのパスが追加されています。
(この後に shell と Tcl
による実装は、
将来のメンテナンス負荷を減らすために、
取り除かれます。)
前の例と同じく、
テストはすべて期待どおりに成功しています。
ただ前の例と違って興味深いのは、
DejaGnu
によるマルチパスのテスト機能が利用されている点です。
これに従って、
パスごとの概要行が追加されています。
この例において、
マルチパスのテストを行っているのは
‘
report-card
’
ツールだけです。
そこで各パスの合計値は、
他の合計値とは違って、
単に ‘
report-card
’
のテスト数にすぎません。
また、
dejagnu report card
の実行に用いたコマンドが、
ここでは多少異なっている点を確認してください。
dejagnu(1)
の実行にあたっては、
複数単語をダッシュ文字でつなぎ合わせて
1
つの引数として受け渡すことができます。
こうすることによって、
1
つのコマンド名に含まれる複数単語を、
ダッシュや空白により交互に区切って、
コマンドライン上から指定することができます。
dejagnu(1) runtest(1)
DejaGnu
の完全なドキュメントは
Texinfo
マニュアルとしてメンテナンスされています。
info
プログラムが適切にインストールされていれば、
コマンド
info dejagnu
の実行によって、
完全なマニュアルを参照できます。
Jacob Bachmeyer