| Cutterリファレンスマニュアル | ||||
|---|---|---|---|---|
| Top | 説明 | ||||
void cut_assert (cut_boolean expression,...); void cut_assert_true (cut_boolean expression,...); void cut_assert_false (cut_boolean expression,...); void cut_assert_null (const void *expression,...); void cut_assert_null_string (const char *string,...); void cut_assert_not_null (const void *expression,...); void cut_assert_equal_int (int expected,int actual,...); void cut_assert_equal_uint (unsigned int expected,unsigned int actual,...); void cut_assert_equal_double (double expected,double error,double actual,...); void cut_assert_equal_string (const char *expected,const char *actual,...); void cut_assert_equal_string_with_free (const char *expected,const char *actual,...); void cut_assert_equal_string_or_null (const char *expected,const char *actual,...); void cut_assert_equal_memory (const void *expected,size_t expected_size,const void *actual,size_t actual_size,...); void cut_assert_equal_string_array (char **expected,char **actual,...); void cut_assert_equal_string_array_with_free (char **expected,char **actual,...); #define cut_assert_operator (lhs, operator, rhs, ...) #define cut_assert_operator_int (lhs, operator, rhs, ...) #define cut_assert_operator_uint (lhs, operator, rhs, ...) #define cut_assert_operator_double (lhs, operator, rhs, ...) #define cut_assert_equal (function, expected, actual, ...) void cut_assert_errno (...); void cut_assert_file_exist (const char *path,...); void cut_assert_path_exist (const char *path,...); void cut_assert_path_not_exist (const char *path,...); void cut_assert_match (const char *pattern,const char *actual,...); void cut_assert_match_with_free (const char *pattern,const char *actual,...); void cut_assert_equal_pointer (const void *expected,const void *actual,...); void cut_assert_equal_fixture_data_string (const char *expected,const void *path,...); void cut_error (const char *format,...); void cut_error_errno (...); void cut_fail (const char *format,...); void cut_pend (const char *format,...); void cut_pending (const char *format,...); void cut_notify (const char *format,...); void cut_omit (const char *format,...);
あなたのプログラムが期待通りに動作しているかを検証するために、期待した値が得られていることを検証したい箇所でcut_assert_XXX()を使います。
例:
1 |
cut_assert_equal_int(3, 1 + 2); |
void cut_assert (cut_boolean expression,...);
expressionが0でもNULLでもないとパスします。
例:
1 2 3 |
char *string; string = malloc(16); cut_assert(string); |
1 2 3 |
MyObject *object; object = my_object_new(); cut_assert(object, cut_message("my_object_new() should not be failed")); |
|
チェックする式。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_true (cut_boolean expression,...);
expressionがCUT_TRUEのとき(0でもNULLでもないとき)パスします。
|
チェックする式。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
0.9から
void cut_assert_false (cut_boolean expression,...);
expressionが0またはNULLのときパスします。
|
チェックする式。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
0.9から
void cut_assert_null (const void *expression,...);
expressionがNULLのときパスします。
|
チェックする式。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_null_string (const char *string,...);
stringがNULLのときパスします。
|
チェックする文字列。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
0.3から
void cut_assert_not_null (const void *expression,...);
expressionがNULL以外のときパスします。
|
チェックする式。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_equal_int (int expected,int actual,...);
expected == actualが成り立つときパスします。
|
期待する整数の値。 |
|
実際の整数の値。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_equal_uint (unsigned int expected,unsigned int actual,...);
expected == actualが成り立つときパスします。
|
期待する符号無し整数の値。 |
|
実際の符号無し符号整数の値。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_equal_double (double expected,double error,double actual,...);
(expected - error) <= actual <= (expected + error)が成り立つときパスします。
|
期待する浮動小数点数。 |
|
誤差範囲を示す浮動小数点数。 |
|
実際の浮動小数点数。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_equal_string (const char *expected,const char *actual,...);
expectedとactualがどちらともNULL、あるいはstrcmp(expected, actual) == 0が成り立つときにパスします。
例:
1 2 3 4 5 |
cut_assert_equal_string("abc", "abc"); -> パス cut_assert_equal_string(NULL, NULL); -> パス cut_assert_equal_string("abc", "ABC"); -> 失敗 cut_assert_equal_string("abc", NULL); -> 失敗 cut_assert_equal_string(NULL, "abc"); -> 失敗 |
|
期待する文字列。 |
|
実際の文字列の値。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_equal_string_with_free (const char *expected,const char *actual,...);
expectedとactualがどちらともNULL、あるいはstrcmp(expected, actual) == 0が成り立つときにパスします。
使用例はcut_assert_equal_string()を見てください。
|
期待する文字列。 |
|
実際の文字列の値。(チェック後に開放される) |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
0.3から
void cut_assert_equal_string_or_null (const char *expected,const char *actual,...);
cut_assert_equal_string_or_nullはバージョン0.3から非推奨になりました。新しく書くコードでは使わないでください。代わりにcut_assert_equal_string()を使ってください。
|
期待する文字列。 |
|
実際の文字列の値。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_equal_memory (const void *expected,size_t expected_size,const void *actual,size_t actual_size,...);
expected_size == actual_sizeが成り立ち、かつ、memcmp(expected, actual, expected_size) == 0が成り立つときにパスします。
|
期待するデータ。 |
|
expectedのサイズ。 |
|
実際のデータ。 |
|
actualのサイズ。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_equal_string_array (char **expected,char **actual,...);
expectedとactualがどちらともNULLではなく、どちらも同じ内容の文字列(strcmp() == 0)を持つときにパスします。
|
期待する文字列の配列。配列はNULL終端。 |
|
実際の文字列の配列。配列はNULL終端。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_equal_string_array_with_free (char **expected,char **actual,...);
expectedとactualがどちらともNULLではなく、どちらも同じ内容の文字列(strcmp() == 0)を持つときにパスします。
|
期待する文字列の配列。配列はNULL終端。 |
|
実際の文字列の配列。配列はNULL終端。(チェック後に開放される) |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
0.9から
#define cut_assert_operator(lhs, operator, rhs, ...)
(lhs operator rhs)が真のときにパスします。
例:
1 |
cut_assert_operator(1, <, 2) -> (1 < 2); |
|
左辺値。 |
|
二項演算子。 |
|
右辺値。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
#define cut_assert_operator_int(lhs, operator, rhs, ...)
(lhs operator rhs)が真のときにパスします。
例:
1 |
cut_assert_operator_int(1, <, 2) -> (1 < 2); |
|
左辺の整数の値。 |
|
二項演算子。 |
|
右辺の整数の値。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
#define cut_assert_operator_uint(lhs, operator, rhs, ...)
(lhs operator rhs)が真のときにパスします。
例:
1 |
cut_assert_operator_uint(1, <, 2) -> (1 < 2); |
|
左辺の符号無し整数の値。 |
|
二項演算子。 |
|
右辺の符号無し整数の値。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
1.0.5から
#define cut_assert_operator_double(lhs, operator, rhs, ...)
(lhs operator rhs)が真のときにパスします。
例:
1 |
cut_assert_operator_double(1.1, <, 2.2) -> (1.1 < 2.2); |
|
左辺の浮動小数点値。 |
|
二項演算子。 |
|
右辺の浮動小数点値。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
1.0.5から
#define cut_assert_equal(function, expected, actual, ...)
function(expected, actual)がCUT_TRUEを返すときパスします。
例:
1 |
cut_assert_equal(!strcmp, "abc", "abc"); -> パス |
|
actualとexpectedを比較する関数。 |
|
期待値。 |
|
実測値。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
void cut_assert_errno (...);
errnoが0だとパスします。
例:
1 2 |
count = write(stdout, buffer, strlen(buffer)); cut_assert_errno("Failed to write"); -> count != -1のときパス |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
0.8から
void cut_assert_file_exist (const char *path,...);
cut_assert_file_existはバージョン1.0.2から非推奨になりました。新しく書くコードでは使わないでください。代わりにcut_assert_path_exist()を使ってください。
pathが存在するときにパスします。普通のファイルかもしれませんし、そうでないかもしれません。(例えばシンボリックリンクやディレクトリなど)
例:
1 2 |
cut_assert_file_exist("/tmp"); -> 多くの環境ではパス cut_assert_file_exist("/non-existent"); -> 失敗 |
|
テストするパス。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
0.9から
void cut_assert_path_exist (const char *path,...);
pathが存在するときにパスします。普通のファイルかもしれませんし、そうでないかもしれません。(例えばシンボリックリンクやディレクトリなど)
例:
1 2 |
cut_assert_path_exist("/tmp"); -> 多くの環境ではパス cut_assert_path_exist("/non-existent"); -> 失敗 |
|
テストするパス。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
1.0.2から
void cut_assert_path_not_exist (const char *path,...);
pathが存在しないとパスします。
例:
1 2 |
cut_assert_path_not_exist("/non-existent"); -> 多くの環境ではパス cut_assert_path_not_exist("/tmp"); -> 失敗 |
|
テストするパス。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
1.0.2から
void cut_assert_match (const char *pattern,const char *actual,...);
patternがstringにマッチしたときパスします。
例:
1 2 |
cut_assert_match("^abc", "abc"); -> パス cut_assert_match("^abc", " abc"); -> 失敗 |
|
正規表現。 |
|
マッチされる文字列。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
1.0から
void cut_assert_match_with_free (const char *pattern,const char *actual,...);
patternがstringにマッチしたときパスします。詳細は
|
正規表現。(文字列で指定) |
|
マッチされる文字列。(チェック後に開放される) |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
1.0から
void cut_assert_equal_pointer (const void *expected,const void *actual,...);
expected == actualが成り立つときパスします。
|
期待するポインタ。 |
|
実際のポインタ。 |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
1.0から
void cut_assert_equal_fixture_data_string (const char *expected,const void *path,...);
expected == cut_get_fixture_data_string(path, ...)が成り立つときパスします。
|
期待する文字列。 |
|
フィクスチャデータのパスの最初の要素。 |
|
パスの残りの要素。NULL終端。 |
1.0.2から
void cut_error (const char *format,...);
メッセージ付きでエラーを発生させます。
|
整形文字列。printf()のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
void cut_error_errno (...);
例:
1 2 3 4 5 6 7 |
void setup (void) { mkdir("tmp", 0700); cut_error_errno("Failed to make tmp directory"); -> Error when tmp directory isn't made successfully. } |
|
追加メッセージ(省略可能)。詳細はcut_message()を見てください。 |
1.0.2から
void cut_fail (const char *format,...);
メッセージ付きでテストを失敗させます。
|
整形文字列。printf()のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
void cut_pend (const char *format,...);
メッセージ付きでこのテストが未解決であると印を付けます。テストはここで中断します。
|
整形文字列。printf()のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
void cut_pending (const char *format,...);
cut_pendingはバージョン0.4から非推奨になりました。新しく書くコードでは使わないでください。代わりにcut_pend()を使ってください。
メッセージ付きでこのテストが未解決であると印を付けます。テストはここで中断します。
|
整形文字列。printf()のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
void cut_notify (const char *format,...);
通知用のメッセージを残します。テストは続行します。
|
整形文字列。printf()のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
void cut_omit (const char *format,...);
このテストを省略します。
例:
1 2 |
if (version < 2.0) cut_omit("Require >= 2.0"); |
|
整形文字列。printf()のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
0.8から