![]() |
![]() |
![]() |
Cutterリファレンスマニュアル | ![]() |
---|---|---|---|---|
Top | 説明 |
CutSubProcess; CutSubProcessGroup; double cut_sub_process_get_elapsed (CutSubProcess *sub_process
); const char ** cut_sub_process_get_exclude_directories (CutSubProcess *sub_process
); const char ** cut_sub_process_get_exclude_files (CutSubProcess *sub_process
); cut_boolean cut_sub_process_get_fatal_failures (CutSubProcess *sub_process
); int cut_sub_process_get_max_threads (CutSubProcess *sub_process
); cut_boolean cut_sub_process_get_multi_thread (CutSubProcess *sub_process
); const char * cut_sub_process_get_source_directory (CutSubProcess *sub_process
); const char ** cut_sub_process_get_target_test_case_names (CutSubProcess *sub_process
); const char ** cut_sub_process_get_target_test_names (CutSubProcess *sub_process
); const char * cut_sub_process_get_test_directory (CutSubProcess *sub_process
); double cut_sub_process_get_total_elapsed (CutSubProcess *sub_process
); void cut_sub_process_group_add (CutSubProcessGroup *group
,CutSubProcess *sub_process
); cut_boolean cut_sub_process_group_run (CutSubProcessGroup *group
); void cut_sub_process_group_run_async (CutSubProcessGroup *group
); cut_boolean cut_sub_process_group_wait (CutSubProcessGroup *group
); cut_boolean cut_sub_process_is_crashed (CutSubProcess *sub_process
); cut_boolean cut_sub_process_is_running (CutSubProcess *sub_process
); cut_boolean cut_sub_process_is_success (CutSubProcess *sub_process
); cut_boolean cut_sub_process_run (CutSubProcess *sub_process
); void cut_sub_process_run_async (CutSubProcess *sub_process
); void cut_sub_process_set_exclude_directories (CutSubProcess *sub_process
,const char **directories
); void cut_sub_process_set_exclude_files (CutSubProcess *sub_process
,const char **files
); void cut_sub_process_set_fatal_failures (CutSubProcess *sub_process
,cut_boolean fatal_failures
); void cut_sub_process_set_max_threads (CutSubProcess *sub_process
,int max_threads
); void cut_sub_process_set_multi_thread (CutSubProcess *sub_process
,cut_boolean multi_thread
); void cut_sub_process_set_source_directory (CutSubProcess *sub_process
,const char *source_directory
); void cut_sub_process_set_target_test_case_names (CutSubProcess *sub_process
,const char **names
); void cut_sub_process_set_target_test_names (CutSubProcess *sub_process
,const char **names
); void cut_sub_process_set_test_directory (CutSubProcess *sub_process
,const char *test_directory
); cut_boolean cut_sub_process_wait (CutSubProcess *sub_process
); CutSubProcess * cut_take_new_sub_process (const char *test_directory
); CutSubProcessGroup * cut_take_new_sub_process_group (void
);
もしテスト対象のソフトウェアがマルチプロセスやマルチスレッドでの使用をサポートしているなら、それらの機能をテストする必要があります。そのようなテストために、CutSubProcessとCutSubProcessGroupを使うことができます。
CutSubProcessはテストを別のプロセスで走らせ、その結果をメインプロセスに転送します。このため、別のプロセス上でのテスト結果もメインプロセス上でのテスト結果と同じように見えます。
CutSubProcessGroupはいくつかのCutSubProcessをまとめて実行するための便利オブジェクトです。
typedef struct _CutSubProcess CutSubProcess;
サブcutterプロセスを表現するオブジェクトです。サブcutterプロセスのパラメタとテスト結果を持っています。
例:
CutSubProcess *sub_process; sub_process = cut_take_new_sub_process("test-dir"); cut_sub_process_set_multi_thread(sub_process, TRUE); cut_assert_true(cut_sub_process_run(sub_process));
1.0.4から
typedef struct _CutSubProcessGroup CutSubProcessGroup;
サブcutterプロセスを実行するオブジェクトです。このオブジェクトは便利にテストを書くために導入されています。
例:
CutSubProcess *sub_process1, *sub_process2, *sub_process3; CutSubProcessGroup *group; sub_process1 = cut_take_new_sub_process("test-dir1"); sub_process2 = cut_take_new_sub_process("test-dir2"); sub_process3 = cut_take_new_sub_process("test-dir3"); group = cut_take_new_sub_process_group(); cut_sub_process_group_add(group, sub_process1); cut_sub_process_group_add(group, sub_process2); cut_sub_process_group_add(group, sub_process3); cut_assert_true(cut_sub_process_group_run(group));
1.0.4から
double cut_sub_process_get_elapsed (CutSubProcess *sub_process
);
sub_process
を実行していた間の時間を取得します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
sub_process を実行していた間の時間。 |
1.0.4から
const char ** cut_sub_process_get_exclude_directories
(CutSubProcess *sub_process
);
テスト対象ディレクトリから除外されるディレクトリ名を返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
テスト対象ディレクトリから除外されるディレクトリ名。 |
1.0.4から
const char ** cut_sub_process_get_exclude_files (CutSubProcess *sub_process
);
テスト対象ファイルから除外されるファイル名を返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
テスト対象ファイルから除外されるファイル名。 |
1.0.4から
cut_boolean cut_sub_process_get_fatal_failures (CutSubProcess *sub_process
);
sub_process
が「失敗は致命的」モードで動くかどうかを返します。「失敗は致命的」モードの詳細はcut_sub_process_set_fatal_failures()
を見てください。
|
CutSubProcessオブジェクト。 |
戻り値 : |
sub_process が「失敗は致命的」モードで実行されるならCUT_TRUE 、そうでなければCUT_FALSE 。 |
1.0.4から
int cut_sub_process_get_max_threads (CutSubProcess *sub_process
);
sub_process
中で同時に動く最大スレッド数を返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
sub_process 中で同時に動く最大スレッド数。 |
1.0.5から
cut_boolean cut_sub_process_get_multi_thread (CutSubProcess *sub_process
);
sub_process
をマルチスレッドモードで実行するかどうかを返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
sub_process がマルチスレッドモードで実行されるならCUT_TRUE 、そうでなければCUT_FALSE 。 |
1.0.4から
const char * cut_sub_process_get_source_directory
(CutSubProcess *sub_process
);
ソースファイルがあるディレクトリを返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
ソースディレクトリ。 |
1.0.4から
const char ** cut_sub_process_get_target_test_case_names
(CutSubProcess *sub_process
);
実行されるテストケース名を返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
実行されるテストケース名。 |
1.0.4から
const char ** cut_sub_process_get_target_test_names
(CutSubProcess *sub_process
);
実行されるテスト名を返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
実行されるテスト名。 |
1.0.4から
const char * cut_sub_process_get_test_directory (CutSubProcess *sub_process
);
実行対象のテストがあるディレクトリを返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
テストディレクトリ |
1.0.4から
double cut_sub_process_get_total_elapsed (CutSubProcess *sub_process
);
各テストで使われた時間の合計を返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
各テストで使われた時間の合計。 |
1.0.4から
void cut_sub_process_group_add (CutSubProcessGroup *group
,CutSubProcess *sub_process
);
sub_process
をgroup
に追加します。
|
CutSubProcessGroupオブジェクト。 |
|
CutSubProcessオブジェクト。 |
1.0.4から
cut_boolean cut_sub_process_group_run (CutSubProcessGroup *group
);
group
内のすべてのサブcutterプロセスを実行し、その結果を返します。
|
CutSubProcessGroupオブジェクト。 |
戻り値 : |
group 内のすべてのサブcutterプロセスが正常終了したらCUT_TRUE 、そうでない場合はCUT_FALSE 。 |
1.0.4から
void cut_sub_process_group_run_async (CutSubProcessGroup *group
);
group
内のすべてのサブcutterプロセスを非同期で実行します。実行結果はcut_sub_process_group_wait()
で取得できます。
|
CutSubProcessGroupオブジェクト。 |
1.0.4から
cut_boolean cut_sub_process_group_wait (CutSubProcessGroup *group
);
group
内の非同期で実行されたすべてのサブcutterプロセスの終了を待ち、終了結果を返します。
|
CutSubProcessGroupオブジェクト。 |
戻り値 : |
group 内のすべてのサブcutterプロセスが正常終了したらCUT_TRUE 、そうでない場合はCUT_FALSE 。 |
1.0.4から
cut_boolean cut_sub_process_is_crashed (CutSubProcess *sub_process
);
sub_process
が異常終了したかどうかを返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
sub_process が異常終了したときはCUT_TRUE 、そうでない場合はCUT_FALSE 。 |
1.0.4から
cut_boolean cut_sub_process_is_running (CutSubProcess *sub_process
);
sub_process
が実行中かどうかを返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
sub_process が実行中の場合はCUT_TRUE 、そうでない場合はCUT_FALSE 。 |
1.0.4から
cut_boolean cut_sub_process_is_success (CutSubProcess *sub_process
);
sub_process
が正常に終了したかどうかを返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
もし、sub_process が正常に終了した場合はCUT_TRUE 、そうでない場合はCUT_FALSE 。 |
1.0.4から
cut_boolean cut_sub_process_run (CutSubProcess *sub_process
);
サブcutterプロセスを実行します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
もし、sub_process が正常に終了した場合はCUT_TRUE 、そうでない場合はCUT_FALSE 。 |
1.0.4から
void cut_sub_process_run_async (CutSubProcess *sub_process
);
非同期でサブcutterコマンドを実行します。sub_process
の結果はcut_sub_process_wait()
で取得できます。
|
CutSubProcessオブジェクト。 |
1.0.4から
void cut_sub_process_set_exclude_directories (CutSubProcess *sub_process
,const char **directories
);
テスト対象ディレクトリから除外されるディレクトリ名を指定します。これは--exclude-directoryコマンドラインオプションと同じ意味を持ちます。
|
CutSubProcessオブジェクト。 |
|
テスト対象ディレクトリから除外されるディレクトリ名。 |
1.0.4から
void cut_sub_process_set_exclude_files (CutSubProcess *sub_process
,const char **files
);
テスト対象から除外されるファイル名を指定します。これは--exclude-fileコマンドラインオプションと同じ意味を持ちます。
|
CutSubProcessオブジェクト。 |
|
テスト対象ファイルから除外されるファイル名。 |
1.0.4から
void cut_sub_process_set_fatal_failures (CutSubProcess *sub_process
,cut_boolean fatal_failures
);
sub_process
が「失敗は致命的」モードで実行されるかどうかを設定します。このモードではすべての失敗は致命的な問題として扱われます。つまり、失敗時にテストが異常終了します。いくつかの環境ではブレークポイントが設定されます。
--fatal-failuresコマンドラインオプションと同じ意味を持ちます。
|
CutSubProcessオブジェクト。 |
|
「失敗は致命的」モードで実行するならCUT_TRUE 。 |
1.0.4から
void cut_sub_process_set_max_threads (CutSubProcess *sub_process
,int max_threads
);
sub_process
中で同時に動く最大スレッド数を設定します。-1は制限がないことを意味します。これは--max-threadsコマンドラインオプションと同じ意味を持ちます。
|
CutSubProcessオブジェクト。 |
|
同時に動く最大スレッド数。 |
1.0.5から
void cut_sub_process_set_multi_thread (CutSubProcess *sub_process
,cut_boolean multi_thread
);
sub_process
がマルチスレッドモードで実行されるかどうかを指定します。これは--multi-threadコマンドラインオプションと同じ意味を持ちます。
|
CutSubProcessオブジェクト。 |
|
マルチスレッドモードで実行するならCUT_TRUE 。 |
1.0.4から
void cut_sub_process_set_source_directory (CutSubProcess *sub_process
,const char *source_directory
);
ソースファイルがあるディレクトリとしてsource_directory
を指定します。これは--source-directoryコマンドラインオプションと同じ意味を持ちます。
|
CutSubProcessオブジェクト。 |
|
ソースディレクトリ。 |
1.0.4から
void cut_sub_process_set_target_test_case_names (CutSubProcess *sub_process
,const char **names
);
実行されるテストケース名を指定します。これは--test-caseコマンドラインオプションと同じ意味を持ちます。
|
CutSubProcessオブジェクト。 |
|
実行されるテストケース名。 |
1.0.4から
void cut_sub_process_set_target_test_names (CutSubProcess *sub_process
,const char **names
);
実行されるテスト名を指定します。これは--testコマンドラインオプションと同じ意味を持ちます。
|
CutSubProcessオブジェクト。 |
|
実行されるテスト名。 |
1.0.4から
void cut_sub_process_set_test_directory (CutSubProcess *sub_process
,const char *test_directory
);
実行対象のテストがあるディレクトリとしてtest_directory
を指定します。これは必須のコマンドライン引数であるTEST_DIRECTORYと同じ意味を持ちます。
|
CutSubProcessオブジェクト。 |
|
テストディレクトリ |
1.0.4から
cut_boolean cut_sub_process_wait (CutSubProcess *sub_process
);
非同期で実行されたサブcutterプロセスの終了を待ち、結果を返します。
|
CutSubProcessオブジェクト。 |
戻り値 : |
もし、sub_process が正常に終了した場合はCUT_TRUE 、そうでない場合はCUT_FALSE 。 |
1.0.4から
CutSubProcess * cut_take_new_sub_process (const char *test_directory
);
test_directory
以下のテストを実行するサブcutterプロセスを作り、それを返します。返されたサブcutterプロセスの所有者はCutterです。
|
サブcutterプロセスのテストがあるディレクトリ。 |
戻り値 : |
CutSubProcessオブジェクト。 |
1.0.4から
CutSubProcessGroup * cut_take_new_sub_process_group (void
);
サブcuterプロセスのグループを作ります。作られたグループの所有者はCutterです。
戻り値 : |
CutSubProcessGroupオブジェクト。 |
1.0.4から