![]() |
![]() |
![]() |
Cutterリファレンスマニュアル | ![]() |
---|---|---|---|---|
#define cut_error (format, ...) #define cut_fail (format, ...) #define cut_pend (format, ...) #define cut_pending (format, ...) #define cut_notify (format, ...) #define cut_omit (format, ...) #define cut_assert (expression, ...) #define cut_assert_true (expression, ...) #define cut_assert_false (expression, ...) #define cut_assert_null (expression, ...) #define cut_assert_null_string (expression, ...) #define cut_assert_not_null (expression, ...) #define cut_assert_equal_int (expected, actual, ...) #define cut_assert_equal_uint (expected, actual, ...) #define cut_assert_equal_double (expected, error, actual, ...) #define cut_assert_equal_string (expected, actual, ...) #define cut_assert_equal_string_with_free (expected, actual, ...) #define cut_assert_equal_string_or_null (expected, actual, ...) #define cut_assert_equal_memory (expected, expected_size, actual, actual_size, ...) #define cut_assert_equal_string_array (expected, actual, ...) #define cut_assert_equal_string_array_with_free(expected, actual, ...) #define cut_assert_operator (lhs, operator, rhs, ...) #define cut_assert_operator_int (lhs, operator, rhs, ...) #define cut_assert_equal (function, expected, actual, ...) #define cut_assert_errno (...) #define cut_assert_file_exist (path, ...) #define cut_assert_match (pattern, actual, ...) #define cut_assert_match_with_free (pattern, actual, ...) #define cut_assert_equal_pointer (expected, actual, ...)
あなたのプログラムが期待通りに動作しているかを検証するために、期待した値が得られていることを検証したい箇所でcut_assert_XXX()
を使います。
例:
cut_assert_equal_int(3, 1 + 2);
#define cut_error(format, ...)
メッセージ付きでエラーを発生させます。
|
整形文字列。printf() のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
#define cut_fail(format, ...)
メッセージ付きでテストを失敗させます。
|
整形文字列。printf() のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
#define cut_pend(format, ...)
メッセージ付きでこのテストが未解決であると印を付けます。テストはここで中断します。
|
整形文字列。printf() のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
#define cut_pending(format, ...) cut_pend(format, ## __VA_ARGS__)
cut_pending
はバージョン0.4から非推奨になりました。新しく書くコードでは使わないでください。代わりにcut_pend()
を使ってください。
メッセージ付きでこのテストが未解決であると印を付けます。テストはここで中断します。
|
整形文字列。printf() のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
#define cut_notify(format, ...)
通知用のメッセージを残します。テストは続行します。
|
整形文字列。printf() のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
#define cut_omit(format, ...)
このテストを省略します。
例:
if (version < 2.0) cut_omit("Require >= 2.0");
|
整形文字列。printf() のドキュメントを見てください。 |
|
整形文字列に挿入されるパラメータ。 |
0.8から
#define cut_assert(expression, ...)
expression
が0でもNULLでもないときにパスします。
|
チェックする式。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_true(expression, ...)
expression
が真の値の(0でもNULLでもない)ときにパスします。
|
チェックする式。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
0.9から
#define cut_assert_false(expression, ...)
expression
が0かNULLのときにパスします。
|
チェックする式。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
0.9から
#define cut_assert_null(expression, ...)
expression
がNULLのときにパスします。
|
チェックする式。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_null_string(expression, ...)
expression
がNULLのときにパスします。
|
文字列を返す式。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
0.3から
#define cut_assert_not_null(expression, ...)
expression
がNULLではないときにパスします。
|
チェックする式。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_equal_int(expected, actual, ...)
expected
== actual
が成り立つときパスします。
|
期待する整数の値。 |
|
実際の整数の値。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_equal_uint(expected, actual, ...)
expected
== actual
が成り立つときパスします。
|
期待する符号無し整数の値。 |
|
実際の符号無し符号整数の値。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_equal_double(expected, error, actual, ...)
(expected
- error
) <= actual
<= (expected
+ error
)が成り立つときパスします。
|
期待される浮動小数点数。 |
|
誤差範囲を示す浮動小数点数。 |
|
実際の浮動小数点数。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_equal_string(expected, actual, ...)
expected
とactual
がどちらともNULL、あるいはstrcmp(expected
, actual
) == 0が成り立つときにパスします。
|
期待される文字列。 |
|
実際の文字列の値。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_equal_string_with_free(expected, actual, ...)
expected
とactual
がどちらともNULL、あるいはstrcmp(expected
, actual
) == 0が成り立つときにパスします。
|
期待される文字列。 |
|
実際の文字列の値(メモリは開放される)。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
0.3から
#define cut_assert_equal_string_or_null(expected, actual, ...)
cut_assert_equal_string_or_null
はバージョン0.3から非推奨になりました。新しく書くコードでは使わないでください。代わりにcut_assert_equal_string()
を使ってください。
expected
とactual
がどちらともNULL、あるいはstrcmp(expected
, actual
) == 0が成り立つときにパスします。
|
期待される文字列。 |
|
実際の文字列の値。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_equal_memory(expected, expected_size, \ actual, actual_size, ...)
expected_size
== actual_size
が成り立ち、かつ、memcmp(expected
, actual
, expected_size
) == 0が成り立つときにパスします。
|
期待するデータ。 |
|
expected のサイズ。 |
|
実際のデータ。 |
|
actual のサイズ。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_equal_string_array(expected, actual, ...)
expected
とactual
がどちらともNULLではなく、どちらも同じ内容の文字列(strcmp()
== 0)を持つときにパスします。
|
期待する文字列の配列。配列はNULL終端。 |
|
実際の文字列の配列。配列はNULL終端。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_equal_string_array_with_free(expected, actual, ...)
expected
とactual
がどちらともNULLではなく、どちらも同じ内容の文字列(strcmp()
== 0)を持つときにパスします。
|
期待する文字列の配列。配列はNULL終端。 |
|
実際の文字列の配列。配列はNULL終端。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
0.9から
#define cut_assert_operator(lhs, operator, rhs, ...)
(lhs
operator
rhs
)が真のときにパスします。
例:
cut_assert_operator(1, <, 2) -> (1 < 2);
|
左辺値。 |
|
二項演算子。 |
|
右辺値。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_operator_int(lhs, operator, rhs, ...)
(lhs
operator
rhs
)が真のときにパスします。
例:
cut_assert_operator_int(1, <, 2) -> (1 < 2);
|
左辺の整数の値。 |
|
二項演算子。 |
|
右辺の整数の値。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_equal(function, expected, actual, ...)
function
(expected
, actual
)が真を返すときパスします。
例:
cut_assert_equal(!strcmp, "abc", "abc"); -> Pass
|
actual とexpected を比較する関数。 |
|
期待値。 |
|
実測値。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
#define cut_assert_errno(...)
Passes if errno is 0.
例:
count = write(stdout, buffer, strlen(buffer)); cut_assert_errno("Failed to write"); -> Pass when count != -1
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
0.8から
#define cut_assert_file_exist(path, ...)
path
が存在するときにパスします。普通のファイルでもそうでなくても(例えばシンボリックリンクやディレクトリなど)かまいません。
例:
cut_assert_file_exist("/tmp"); -> Pass on many environment. cut_assert_file_exist("/non-existent"); -> Fail
|
テストするパス。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
0.9から
#define cut_assert_match(pattern, actual, ...)
regex
がstring
にマッチしたときパスします。
例:
cut_assert_match("^abc", "abc"); -> Pass cut_assert_match("^abc", " abc"); -> Fail
|
正規表現。(文字列で指定) |
|
マッチされる文字列。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
1.0から
#define cut_assert_match_with_free(pattern, actual, ...)
regex
がstring
にマッチしたときパスします。詳細は
|
正規表現。(文字列で指定) |
|
マッチされる文字列(メモリは開放される)。 |
|
省略可能な整形文字列。以降のパラメータが整形文字列に挿入されます。(printf() と同じ) |
1.0から