4.8 テストログファイルの確認

テストを実行して作成されたファイルを確認します。1.txt summary.log detail.logが作成されています。

$ ls
0.txt  1.txt  Makefile  cmd  desc.txt  detail.log  summary.log

テストを実行すると作成されるファイルは、次のとおりです。必要に応じてファイルの内容を確認します。

1.txt

テスト結果をあらわします。エラー発生時は、標準出力のあとにエラー出力が続きます

err.log

エラー発生時に、エラーが出力されます。エラーが発生しない場合は作成されません

diff.log

テスト想定ファイル0.txtとテスト結果ファイル1.txtの差分をあらわします。想定と結果が同一の場合は、作成されません

summary.log

テストの実行結果を表します。テスト実行時に表示される項目です。

detail.log

テストの詳細ログを表します。上記の内容がすべて出力されます

detail.logは、次のようになります。

== summary.log ==
----------------------------------------------------------------------
テスト関数1
sort_001: Test Success 2011-01-24 11:13:04
Details in /Users/kazubito/2011_01/sort/test/sort_001/detail.log
----------------------------------------------------------------------

== cmd.c ==
----------------------------------------------------------------------
#include <stdio.h>
#ifndef ARRAYSIZE
#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0]))
#endif

void sort(int array[], int num);

int main() {
    int i, array[] = {11, 7, 5, 3, 2};

    sort(array, ARRAYSIZE(array));
    for(i = 0; i < ARRAYSIZE(array); i++) {
        printf("%d\n", array[i]);
    }
    return 0;
}
----------------------------------------------------------------------

== 0.txt ==
----------------------------------------------------------------------
2
3
5
7
11
----------------------------------------------------------------------

== 1.txt ==
----------------------------------------------------------------------
2
3
5
7
11
----------------------------------------------------------------------

バグを含むsort関数の場合

バグを含むsort関数を準備してテストを実行した場合、1.txt summary.log detail.logのほかに、テスト想定とテスト結果が異なるためdiff.logが作成されます。

$ ls
0.txt  1.txt  Makefile  cmd  desc.txt  detail.log  diff.log  summary.log

detail.logは次のようになります。

== summary.log ==
----------------------------------------------------------------------
テスト関数1
sort_001: Test Failure 2011-01-24 11:09:34
Details in /home/foo/sort/test/sort_001/detail.log
----------------------------------------------------------------------

== cmd.c ==
----------------------------------------------------------------------
#include <stdio.h>
#ifndef ARRAYSIZE
#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0]))
#endif

void sort(int array[], int num);

int main() {
    int i, array[] = {11, 7, 5, 3, 2};

    sort(array, ARRAYSIZE(array));
    for(i = 0; i < ARRAYSIZE(array); i++) {
        printf("%d\n", array[i]);
    }
    return 0;
}
----------------------------------------------------------------------

== 0.txt ==
----------------------------------------------------------------------
2
3
5
7
11
----------------------------------------------------------------------

== diff.log ==
----------------------------------------------------------------------
*** 0.txt	2011-01-24 11:07:39.000000000 +0900
--- 1.txt   2011-01-24 11:09:34.000000000 +0900
***************
*** 1,5 ****
  2
! 3
! 5
! 7
! 11
--- 1,5 ----
  2
! 2
! 2
! 2
! 2
----------------------------------------------------------------------

== 1.txt ==
----------------------------------------------------------------------
2
2
2
2
2
----------------------------------------------------------------------

4.8.1 テストのクリア

make cleanを実行すると、テストの結果作成されたファイルがクリアされます。

$ make clean
$ ls
0.txt  Makefile  cmd.c  desc.txt