Test Utilities

Test Utilities — テストをもっと簡単に書くためのユーティリティ。

Functions

void * cut_take ()
const void * cut_take_memory ()
const char * cut_take_string ()
const char * cut_take_strdup ()
const char * cut_take_strndup ()
const void * cut_take_memdup ()
const char * cut_take_printf ()
char ** cut_take_string_array ()
const char * cut_take_diff ()
const char * cut_take_replace ()
#define cut_take_convert()
const char * cut_take_inspect_string ()
void cut_set_fixture_data_dir ()
char * cut_build_fixture_data_path ()
#define cut_build_fixture_path()
const char * cut_get_fixture_data_string ()
#define cut_get_fixture_data()
void cut_remove_path ()
const char * cut_build_path ()
const char * cut_build_path_array ()
void cut_make_directory ()

説明

テストを書くためには、テスト環境を前処理・後処理するコードや、検証する結果を準備するコードなどたくさんのコードを書く必要があります。Cutterはもっと簡単にテストを書くためにユーティリティを提供します。

このユーティリティはGLibサポート無しでも使えます。

Functions

cut_take ()

void *
cut_take (void *object,
          CutDestroyFunction destroy_function);

objectの所有権をCutterに渡し、object自身を返します。objectdestroy_funcを用いて破棄されます。

Parameters

object

Cutterが所有権をもつことになるオブジェクト。

 

destroy_function

オブジェクト用の破棄関数。

 

Returns

Cutterが所有するobject。解放しないで下さい。

Since: 1.0.5


cut_take_memory ()

const void *
cut_take_memory (void *memory);

memoryの所有権をCutterに渡し、memory自身を返します。memoryfree()で破棄されます。

Parameters

memory

Cutterが所有権を持つことになるメモリ。

 

Returns

Cutterが所有するmemory。解放しないで下さい。

Since: 1.0.5


cut_take_string ()

const char *
cut_take_string (char *string);

stringの所有権をCutterに渡し、stringそれ自身を返します。

Parameters

文字列。

Cutterが所有権を持つことになる文字列。

 

Returns

Cutterが所有するstring。解放しないで下さい。


cut_take_strdup ()

const char *
cut_take_strdup (const char *string);

stringを複製し、その所有権をCutterに渡し、複製されたメモリを返します。

Parameters

文字列。

複製される文字列。

 

Returns

Cutterが所有する複製された文字列。解放しないで下さい。

Since: 1.0.5


cut_take_strndup ()

const char *
cut_take_strndup (const char *string,
                  size_t size);

stringの先頭sizeバイトを複製し、その所有権ををCutterに渡し、複製された文字列を返します。複製された文字列は常にNULL終端しています。

Parameters

文字列。

複製される文字列。

 

size

複製するバイト数。

 

Returns

Cutterが所有する複製された文字列。解放しないで下さい。

Since: 1.0.5


cut_take_memdup ()

const void *
cut_take_memdup (const void *memory,
                 size_t size);

memorysizeバイトを複製し、その所有権をCutterに渡し、複製されたメモリを返します。

Parameters

memory

複製されるメモリ。

 

size

複製するバイト数。

 

Returns

Cutterが所有する複製されたメモリ。解放しないで下さい。

Since: 1.0.5


cut_take_printf ()

const char *
cut_take_printf (const char *format,
                 ...);

printf()のように文字列を整形しますが、整形された文字列はCutterが所有します。

Parameters

format

整形文字列。printf()のドキュメントを見てください。

 

...

整形文字列に挿入されるパラメータ。

 

Returns

Cutterが所有する整形された文字列。解放しないで下さい。


cut_take_string_array ()

char **
cut_take_string_array (char **strings);

配列の所有権をCutterに渡し、stringsそれ自身を返します。

Parameters

文字列。

Cutterが所有権を持つことになる文字列の配列。

 

Returns

Cutterが所有するstrings。解放しないで下さい。


cut_take_diff ()

const char *
cut_take_diff (const char *from,
               const char *to);

fromtoのdiffを計算します。diffの所有者はCutterです。

Parameters

from

元の文字列。

 

to

修正された文字列。

 

Returns

Cutterが所有するfromtoのdiff。開放しないでください。


cut_take_replace ()

const char *
cut_take_replace (const char *target,
                  const char *pattern,
                  const char *replacement);

target文字列中で、patternにマッチする部分をreplacementで置き換えます。

Parameters

target

置換対象の文字列。

 

pattern

正規表現パターン。(文字列で指定)

 

replacement

マッチした部分を置き換える文字列。

 

Returns

Cutterが所有する複製された文字列。解放しないで下さい。

Since: 1.0.6


cut_take_convert()

#define             cut_take_convert(string, to_code_set, from_code_set)

stringのコードセットをfrom_code_setからto_code_setへ変換します。

Parameters

文字列。

変換対象の文字列。NULL終端。

 

to_code_set

変換先のコードセット名。

 

from_code_set

stringのコードセット名。

 

Returns

Cutterが所有する変換された文字列。解放しないで下さい。

Since: 1.1.3


cut_take_inspect_string ()

const char *
cut_take_inspect_string (const char *string);

stringの詳細を返す。

Parameters

文字列。

詳細な情報を取得したい文字列。NULLまたはNULL終端でなければいけません。

 

Returns

Cutterが所有する整形された文字列。解放しないで下さい。

Since: 1.1.4


cut_set_fixture_data_dir ()

void
cut_set_fixture_data_dir (const char *path,
                          ...);

cut_get_fixture_data_string()などで使われるフィクスチャデータのディレクトリを指定します。

Parameters

パス。

フィクスチャデータディレクトリのパスの最初の要素。

 

...

パスの残りの要素。1.0.7からNULL終端が必須となりました。

 

Since: 1.0.2


cut_build_fixture_data_path ()

char *
cut_build_fixture_data_path (const char *path,
                             ...);

CPPCUT_END_TEST_DECLSはバージョン1.1.0から非推奨になりました。新しく書くコードでは使わないでください。代わりにnamespaceを使ってください。

cut_set_actual()も見てください。

フィクスチャデータへのパスを生成します。もし、pathが相対パスなら、パスはcut_set_fixture_data_dir()で指定したディレクトリか、現在のディレクトリからの相対パスとして処理されます。

Parameters

パス。

フィクスチャデータのパスの最初の要素。

 

...

パスの残りの要素。1.0.7からNULL終端が必須となりました。

 

Returns

フィクスチャデータのパス。返された文字列が必要なくなったときは開放してください。

Since: 1.0.2


cut_build_fixture_path()

#define             cut_build_fixture_path(...)

フィクスチャデータへのパスを生成します。もし、pathが相対パスなら、パスはcut_set_fixture_data_dir()で指定したディレクトリか、現在のディレクトリからの相対パスとして処理されます。

Parameters

パス。

フィクスチャデータのパスの最初の要素。

 

...

パスの残りの要素。NULL終端が必須です。

 

Returns

Cutterが所有するフィクスチャデータのパス。解放しないで下さい。

Since: 1.1.6


cut_get_fixture_data_string ()

const char *
cut_get_fixture_data_string (const char *path,
                             ...);

"path/..."にあるフィクスチャデータを読み込み、文字列として返します。文字列はCutterが所持します。cut_build_fixture_data_path()の説明にはフィクスチャデータのパスがどのように決定されるかが書かれています。

Parameters

パス。

フィクスチャデータのパスの最初の要素。

 

...

パスの残りの要素。1.0.7からNULL終端が必須となりました。

 

Returns

フィクスチャデータの内容。Cutterが所有しているので開放しないください。

Since: 1.0.2


cut_get_fixture_data()

#define             cut_get_fixture_data(size, ...)

"path/..."にあるフィクスチャデータを読み込み、文字列として返します。文字列はCutterが所持します。cut_build_fixture_data_path()の説明にはフィクスチャデータのパスがどのように決定されるかが書かれています。

Parameters

size

フィクスチャデータのサイズを返すアドレスまたはNULL

 

パス。

フィクスチャデータのパスの最初の要素。

 

...

パスの残りの要素。NULL終端が必須です。

 

Returns

フィクスチャデータの内容。Cutterが所有しているので開放しないください。

Since: 1.1.6


cut_remove_path ()

void
cut_remove_path (const char *path,
                 ...);

pathと、その下にあるパスを再帰的に削除します。いかなるエラーも報告しません。

Parameters

パス。

削除するパスの最初の要素。

 

...

パスの残りの要素。1.0.7からNULL終端が必須となりました。

 

Since: 1.0.2


cut_build_path ()

const char *
cut_build_path (const char *path,
                ...);

pathと続く要素を使ってパスを作ります。

Parameters

パス。

パスの最初の要素。

 

...

パスの残りの要素。NULL終端。

 

Returns

Cutterが所有する作成したパス。解放しないで下さい。

Since: 1.0.7


cut_build_path_array ()

const char *
cut_build_path_array (const char **paths);

pathsからパスを作ります。

Parameters

パス。

パスの要素を含んだNULL終端の文字列の配列。

 

Returns

Cutterが所有する作成したパス。解放しないで下さい。

Since: 1.1.5


cut_make_directory ()

void
cut_make_directory (const char *path,
                    ...);

pathと、その途中にあるパスを再帰的に作成します。いかなるエラーも報告しません。

Parameters

パス。

作成するパスの最初の要素。

 

...

パスの残りの要素。NULL終端。

 

Since: 1.1.1