![]() |
![]() |
![]() |
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から