Scroll to navigation

DEJAGNU-REPORT-CARD(1) General Commands Manual (urm) DEJAGNU-REPORT-CARD(1)

名前

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 がつけられます。

オプション

, --verbose
dejagnu report card の操作自体を説明する追加情報を出力します。

ファイル

dejagnu report card コマンドが出力を生成する際には、 DejaGnu によって作られた概要ファイルを読み込んで、 "PASS" や "FAIL" などの数をカウントします。

引数に名前が指定されなかった場合、 カレントディレクトリ内の *.sum に一致するファイルすべてが読み込まれます。

DejaGnu 自体のテストスイートから、 単純な例を示します。

$ 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 に対するテストが追加された後の同様の結果例

$ 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

2018/12/31 GNU