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