ここではC言語の関数テストの例として、sort
関数をテストします。CUnitのわかりやすい日本語チュートリアルCUnit チュートリアルで使われている関数です。
sort_normal.cは、次の内容です。
void sort(int array[], int num) { int i; int j; int val; for(i=0; i<(num-1); i++) { for(j=(num-1); j>i; j--) { if (array[j-1] > array[j]) { val = array[j]; array[j] = array[j-1]; array[j-1] = val; } } } }
バグを含むsort_bug.cは、次の内容です。
void sort(int array[], int num) { int i; int j; int val; for(i=0; i<(num-1); i++) { for(j=(num-1); j>i; j--) { if (array[j-1] > array[j]) { val = array[j]; array[j] = array[j]; /* 本当は array[j] = array[j-1]; */ array[j-1] = val; } } } }
プログラムは、サンプルとして用意されているものを準備してください。
準備ができたら、Autotest.mkを使った次の手順でテストを実行できます。