<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY version SYSTEM "version.xml">
]>
<refentry id="cutter-Multi-Process">
<refmeta>
<refentrytitle role="top_of_page" id="cutter-Multi-Process.top_of_page">マルチプロセス</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>Cutterライブラリ</refmiscinfo>
</refmeta>
<refnamediv>
<refname>マルチプロセス</refname>
<refpurpose>マルチプロセスでテストを走らせるためのユーティリティ。</refpurpose>
</refnamediv>

<refsect1 id="cutter-Multi-Process.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_return" colwidth="150px"/>
<colspec colname="functions_name"/>
<tbody>
<row><entry role="function_type"><link linkend="CutSubProcess"><returnvalue>CutSubProcess</returnvalue></link> *
</entry><entry role="function_name"><link linkend="cut-take-new-sub-process">cut_take_new_sub_process</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-run">cut_sub_process_run</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-run-async">cut_sub_process_run_async</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-wait">cut_sub_process_wait</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-is-success">cut_sub_process_is_success</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-is-running">cut_sub_process_is_running</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> *
</entry><entry role="function_name"><link linkend="cut-sub-process-get-test-directory">cut_sub_process_get_test_directory</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-set-test-directory">cut_sub_process_set_test_directory</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> *
</entry><entry role="function_name"><link linkend="cut-sub-process-get-source-directory">cut_sub_process_get_source_directory</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-set-source-directory">cut_sub_process_set_source_directory</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-get-multi-thread">cut_sub_process_get_multi_thread</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-set-multi-thread">cut_sub_process_set_multi_thread</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-get-max-threads">cut_sub_process_get_max_threads</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-set-max-threads">cut_sub_process_set_max_threads</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> **
</entry><entry role="function_name"><link linkend="cut-sub-process-get-exclude-files">cut_sub_process_get_exclude_files</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-set-exclude-files">cut_sub_process_set_exclude_files</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> **
</entry><entry role="function_name"><link linkend="cut-sub-process-get-exclude-directories">cut_sub_process_get_exclude_directories</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-set-exclude-directories">cut_sub_process_set_exclude_directories</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> **
</entry><entry role="function_name"><link linkend="cut-sub-process-get-target-test-case-names">cut_sub_process_get_target_test_case_names</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-set-target-test-case-names">cut_sub_process_set_target_test_case_names</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link> **
</entry><entry role="function_name"><link linkend="cut-sub-process-get-target-test-names">cut_sub_process_get_target_test_names</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-set-target-test-names">cut_sub_process_set_target_test_names</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-get-elapsed">cut_sub_process_get_elapsed</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="double"><returnvalue>double</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-get-total-elapsed">cut_sub_process_get_total_elapsed</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-is-crashed">cut_sub_process_is_crashed</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-get-fatal-failures">cut_sub_process_get_fatal_failures</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-set-fatal-failures">cut_sub_process_set_fatal_failures</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="CutSubProcessGroup"><returnvalue>CutSubProcessGroup</returnvalue></link> *
</entry><entry role="function_name"><link linkend="cut-take-new-sub-process-group">cut_take_new_sub_process_group</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-group-add">cut_sub_process_group_add</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-group-run">cut_sub_process_group_run</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-group-run-async">cut_sub_process_group_run_async</link> <phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="cut-sub-process-group-wait">cut_sub_process_group_wait</link> <phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="cutter-Multi-Process.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="name" colwidth="150px"/>
<colspec colname="description"/>
<tbody>
<row><entry role="datatype_keyword"/><entry role="function_name"><link linkend="CutSubProcess">CutSubProcess</link></entry></row>
<row><entry role="datatype_keyword"/><entry role="function_name"><link linkend="CutSubProcessGroup">CutSubProcessGroup</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>


<refsect1 id="cutter-Multi-Process.description" role="desc">
<title role="desc.title">説明</title>
<para>もしテスト対象のソフトウェアがマルチプロセスやマルチスレッドでの使用をサポートしているなら、それらの機能をテストする必要があります。そのようなテストために、<link linkend="CutSubProcess"><type>CutSubProcess</type></link>と<link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link>を使うことができます。</para>
<para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>はテストを別のプロセスで走らせ、その結果をメインプロセスに転送します。このため、別のプロセス上でのテスト結果もメインプロセス上でのテスト結果と同じように見えます。</para>
<para><link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link>はいくつかの<link linkend="CutSubProcess"><type>CutSubProcess</type></link>をまとめて実行するための便利オブジェクトです。</para>

</refsect1>
<refsect1 id="cutter-Multi-Process.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="cut-take-new-sub-process" role="function" condition="since:1.0.4">
<title>cut_take_new_sub_process ()</title>
<indexterm zone="cut-take-new-sub-process" role="1.0.4"><primary>cut_take_new_sub_process</primary></indexterm>
<programlisting language="C"><link linkend="CutSubProcess"><returnvalue>CutSubProcess</returnvalue></link> *
cut_take_new_sub_process (<parameter>const <link linkend="char"><type>char</type></link> *test_directory</parameter>);</programlisting>
<para><parameter>test_directory</parameter>以下のテストを実行するサブcutterプロセスを作り、それを返します。返されたサブcutterプロセスの所有者はCutterです。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>test_directory</para></entry>
<entry role="parameter_description"><para>サブcutterプロセスのテストがあるディレクトリ。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-run" role="function" condition="since:1.0.4">
<title>cut_sub_process_run ()</title>
<indexterm zone="cut-sub-process-run" role="1.0.4"><primary>cut_sub_process_run</primary></indexterm>
<programlisting language="C"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
cut_sub_process_run (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>サブcutterプロセスを実行します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>もし、<parameter>sub_process</parameter>が正常に終了した場合は<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>、そうでない場合は<link linkend="CUT-FALSE:CAPS"><literal>CUT_FALSE</literal></link>。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-run-async" role="function" condition="since:1.0.4">
<title>cut_sub_process_run_async ()</title>
<indexterm zone="cut-sub-process-run-async" role="1.0.4"><primary>cut_sub_process_run_async</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_run_async (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>非同期でサブcutterコマンドを実行します。<parameter>sub_process</parameter>の結果は<link linkend="cut-sub-process-wait"><function>cut_sub_process_wait()</function></link>で取得できます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-wait" role="function" condition="since:1.0.4">
<title>cut_sub_process_wait ()</title>
<indexterm zone="cut-sub-process-wait" role="1.0.4"><primary>cut_sub_process_wait</primary></indexterm>
<programlisting language="C"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
cut_sub_process_wait (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>非同期で実行されたサブcutterプロセスの終了を待ち、結果を返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>もし、<parameter>sub_process</parameter>が正常に終了した場合は<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>、そうでない場合は<link linkend="CUT-FALSE:CAPS"><literal>CUT_FALSE</literal></link>。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-is-success" role="function" condition="since:1.0.4">
<title>cut_sub_process_is_success ()</title>
<indexterm zone="cut-sub-process-is-success" role="1.0.4"><primary>cut_sub_process_is_success</primary></indexterm>
<programlisting language="C"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
cut_sub_process_is_success (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para><parameter>sub_process</parameter>が正常に終了したかどうかを返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>もし、<parameter>sub_process</parameter>が正常に終了した場合は<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>、そうでない場合は<link linkend="CUT-FALSE:CAPS"><literal>CUT_FALSE</literal></link>。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-is-running" role="function" condition="since:1.0.4">
<title>cut_sub_process_is_running ()</title>
<indexterm zone="cut-sub-process-is-running" role="1.0.4"><primary>cut_sub_process_is_running</primary></indexterm>
<programlisting language="C"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
cut_sub_process_is_running (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para><parameter>sub_process</parameter>が実行中かどうかを返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para><parameter>sub_process</parameter>が実行中の場合は<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>、そうでない場合は<link linkend="CUT-FALSE:CAPS"><literal>CUT_FALSE</literal></link>。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-get-test-directory" role="function" condition="since:1.0.4">
<title>cut_sub_process_get_test_directory ()</title>
<indexterm zone="cut-sub-process-get-test-directory" role="1.0.4"><primary>cut_sub_process_get_test_directory</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> *
cut_sub_process_get_test_directory (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>実行対象のテストがあるディレクトリを返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>テストディレクトリ</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-set-test-directory" role="function" condition="since:1.0.4">
<title>cut_sub_process_set_test_directory ()</title>
<indexterm zone="cut-sub-process-set-test-directory" role="1.0.4"><primary>cut_sub_process_set_test_directory</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_set_test_directory (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>,
                                    <parameter>const <link linkend="char"><type>char</type></link> *test_directory</parameter>);</programlisting>
<para>実行対象のテストがあるディレクトリとして<parameter>test_directory</parameter>を指定します。これは必須のコマンドライン引数であるTEST_DIRECTORYと同じ意味を持ちます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>test_directory</para></entry>
<entry role="parameter_description"><para>テストディレクトリ</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-get-source-directory" role="function" condition="since:1.0.4">
<title>cut_sub_process_get_source_directory ()</title>
<indexterm zone="cut-sub-process-get-source-directory" role="1.0.4"><primary>cut_sub_process_get_source_directory</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> *
cut_sub_process_get_source_directory (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>ソースファイルがあるディレクトリを返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>ソースディレクトリ。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-set-source-directory" role="function" condition="since:1.0.4">
<title>cut_sub_process_set_source_directory ()</title>
<indexterm zone="cut-sub-process-set-source-directory" role="1.0.4"><primary>cut_sub_process_set_source_directory</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_set_source_directory (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>,
                                      <parameter>const <link linkend="char"><type>char</type></link> *source_directory</parameter>);</programlisting>
<para>ソースファイルがあるディレクトリとして<parameter>source_directory</parameter>を指定します。これは--source-directoryコマンドラインオプションと同じ意味を持ちます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>source_directory</para></entry>
<entry role="parameter_description"><para>ソースディレクトリ。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-get-multi-thread" role="function" condition="since:1.0.4">
<title>cut_sub_process_get_multi_thread ()</title>
<indexterm zone="cut-sub-process-get-multi-thread" role="1.0.4"><primary>cut_sub_process_get_multi_thread</primary></indexterm>
<programlisting language="C"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
cut_sub_process_get_multi_thread (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para><parameter>sub_process</parameter>をマルチスレッドモードで実行するかどうかを返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para><parameter>sub_process</parameter>がマルチスレッドモードで実行されるなら<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>、そうでなければ<link linkend="CUT-FALSE:CAPS"><literal>CUT_FALSE</literal></link>。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-set-multi-thread" role="function" condition="since:1.0.4">
<title>cut_sub_process_set_multi_thread ()</title>
<indexterm zone="cut-sub-process-set-multi-thread" role="1.0.4"><primary>cut_sub_process_set_multi_thread</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_set_multi_thread (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>,
                                  <parameter><link linkend="cut-boolean"><type>cut_boolean</type></link> multi_thread</parameter>);</programlisting>
<para><parameter>sub_process</parameter>がマルチスレッドモードで実行されるかどうかを指定します。これは--multi-threadコマンドラインオプションと同じ意味を持ちます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>multi_thread</para></entry>
<entry role="parameter_description"><para>マルチスレッドモードで実行するなら<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-get-max-threads" role="function" condition="since:1.0.5">
<title>cut_sub_process_get_max_threads ()</title>
<indexterm zone="cut-sub-process-get-max-threads" role="1.0.5"><primary>cut_sub_process_get_max_threads</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
cut_sub_process_get_max_threads (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>Returns how many threads are used concurrently at a
maximum in <parameter>sub_process</parameter>
.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para> max number of threads used concurrently at a
maximum in <parameter>sub_process</parameter>
.</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.5">1.0.5</link></para></refsect2>
<refsect2 id="cut-sub-process-set-max-threads" role="function" condition="since:1.0.5">
<title>cut_sub_process_set_max_threads ()</title>
<indexterm zone="cut-sub-process-set-max-threads" role="1.0.5"><primary>cut_sub_process_set_max_threads</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_set_max_threads (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>,
                                 <parameter><link linkend="int"><type>int</type></link> max_threads</parameter>);</programlisting>
<para>Sets how many threads are used concurrently at a
maximum in <parameter>sub_process</parameter>
. -1 means no limit. This is same
as --max-threads command line option.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>max_threads</para></entry>
<entry role="parameter_description"><para>同時に動く最大スレッド数。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.5">1.0.5</link></para></refsect2>
<refsect2 id="cut-sub-process-get-exclude-files" role="function" condition="since:1.0.4">
<title>cut_sub_process_get_exclude_files ()</title>
<indexterm zone="cut-sub-process-get-exclude-files" role="1.0.4"><primary>cut_sub_process_get_exclude_files</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> **
cut_sub_process_get_exclude_files (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>テスト対象ファイルから除外されるファイル名を返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>テスト対象ファイルから除外されるファイル名。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-set-exclude-files" role="function" condition="since:1.0.4">
<title>cut_sub_process_set_exclude_files ()</title>
<indexterm zone="cut-sub-process-set-exclude-files" role="1.0.4"><primary>cut_sub_process_set_exclude_files</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_set_exclude_files (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>,
                                   <parameter>const <link linkend="char"><type>char</type></link> **files</parameter>);</programlisting>
<para>テスト対象から除外されるファイル名を指定します。これは--exclude-fileコマンドラインオプションと同じ意味を持ちます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>files</para></entry>
<entry role="parameter_description"><para>テスト対象ファイルから除外されるファイル名。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-get-exclude-directories" role="function" condition="since:1.0.4">
<title>cut_sub_process_get_exclude_directories ()</title>
<indexterm zone="cut-sub-process-get-exclude-directories" role="1.0.4"><primary>cut_sub_process_get_exclude_directories</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> **
cut_sub_process_get_exclude_directories
                               (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>テスト対象ディレクトリから除外されるディレクトリ名を返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>テスト対象ディレクトリから除外されるディレクトリ名。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-set-exclude-directories" role="function" condition="since:1.0.4">
<title>cut_sub_process_set_exclude_directories ()</title>
<indexterm zone="cut-sub-process-set-exclude-directories" role="1.0.4"><primary>cut_sub_process_set_exclude_directories</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_set_exclude_directories
                               (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>,
                                <parameter>const <link linkend="char"><type>char</type></link> **directories</parameter>);</programlisting>
<para>テスト対象ディレクトリから除外されるディレクトリ名を指定します。これは--exclude-directoryコマンドラインオプションと同じ意味を持ちます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>directories</para></entry>
<entry role="parameter_description"><para>テスト対象ディレクトリから除外されるディレクトリ名。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-get-target-test-case-names" role="function" condition="since:1.0.4">
<title>cut_sub_process_get_target_test_case_names ()</title>
<indexterm zone="cut-sub-process-get-target-test-case-names" role="1.0.4"><primary>cut_sub_process_get_target_test_case_names</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> **
cut_sub_process_get_target_test_case_names
                               (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>実行されるテストケース名を返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>実行されるテストケース名。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-set-target-test-case-names" role="function" condition="since:1.0.4">
<title>cut_sub_process_set_target_test_case_names ()</title>
<indexterm zone="cut-sub-process-set-target-test-case-names" role="1.0.4"><primary>cut_sub_process_set_target_test_case_names</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_set_target_test_case_names
                               (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>,
                                <parameter>const <link linkend="char"><type>char</type></link> **names</parameter>);</programlisting>
<para>実行されるテストケース名を指定します。これは--test-caseコマンドラインオプションと同じ意味を持ちます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>names</para></entry>
<entry role="parameter_description"><para>実行されるテストケース名。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-get-target-test-names" role="function" condition="since:1.0.4">
<title>cut_sub_process_get_target_test_names ()</title>
<indexterm zone="cut-sub-process-get-target-test-names" role="1.0.4"><primary>cut_sub_process_get_target_test_names</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link> **
cut_sub_process_get_target_test_names (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>実行されるテスト名を返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>実行されるテスト名。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-set-target-test-names" role="function" condition="since:1.0.4">
<title>cut_sub_process_set_target_test_names ()</title>
<indexterm zone="cut-sub-process-set-target-test-names" role="1.0.4"><primary>cut_sub_process_set_target_test_names</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_set_target_test_names (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>,
                                       <parameter>const <link linkend="char"><type>char</type></link> **names</parameter>);</programlisting>
<para>実行されるテスト名を指定します。これは--testコマンドラインオプションと同じ意味を持ちます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>names</para></entry>
<entry role="parameter_description"><para>実行されるテスト名。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-get-elapsed" role="function" condition="since:1.0.4">
<title>cut_sub_process_get_elapsed ()</title>
<indexterm zone="cut-sub-process-get-elapsed" role="1.0.4"><primary>cut_sub_process_get_elapsed</primary></indexterm>
<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link>
cut_sub_process_get_elapsed (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para><parameter>sub_process</parameter>を実行していた間の時間を取得します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para><parameter>sub_process</parameter>を実行していた間の時間。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-get-total-elapsed" role="function" condition="since:1.0.4">
<title>cut_sub_process_get_total_elapsed ()</title>
<indexterm zone="cut-sub-process-get-total-elapsed" role="1.0.4"><primary>cut_sub_process_get_total_elapsed</primary></indexterm>
<programlisting language="C"><link linkend="double"><returnvalue>double</returnvalue></link>
cut_sub_process_get_total_elapsed (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>各テストで使われた時間の合計を返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para>各テストで使われた時間の合計。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-is-crashed" role="function" condition="since:1.0.4">
<title>cut_sub_process_is_crashed ()</title>
<indexterm zone="cut-sub-process-is-crashed" role="1.0.4"><primary>cut_sub_process_is_crashed</primary></indexterm>
<programlisting language="C"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
cut_sub_process_is_crashed (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para><parameter>sub_process</parameter>が異常終了したかどうかを返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para><parameter>sub_process</parameter>が異常終了したときは<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>、そうでない場合は<link linkend="CUT-FALSE:CAPS"><literal>CUT_FALSE</literal></link>。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-get-fatal-failures" role="function" condition="since:1.0.4">
<title>cut_sub_process_get_fatal_failures ()</title>
<indexterm zone="cut-sub-process-get-fatal-failures" role="1.0.4"><primary>cut_sub_process_get_fatal_failures</primary></indexterm>
<programlisting language="C"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
cut_sub_process_get_fatal_failures (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para><parameter>sub_process</parameter>が「失敗は致命的」モードで動くかどうかを返します。「失敗は致命的」モードの詳細は<link linkend="cut-sub-process-set-fatal-failures"><function>cut_sub_process_set_fatal_failures()</function></link>を見てください。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para><parameter>sub_process</parameter>が「失敗は致命的」モードで実行されるなら<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>、そうでなければ<link linkend="CUT-FALSE:CAPS"><literal>CUT_FALSE</literal></link>。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-set-fatal-failures" role="function" condition="since:1.0.4">
<title>cut_sub_process_set_fatal_failures ()</title>
<indexterm zone="cut-sub-process-set-fatal-failures" role="1.0.4"><primary>cut_sub_process_set_fatal_failures</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_set_fatal_failures (<parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>,
                                    <parameter><link linkend="cut-boolean"><type>cut_boolean</type></link> fatal_failures</parameter>);</programlisting>
<para><parameter>sub_process</parameter>が「失敗は致命的」モードで実行されるかどうかを設定します。このモードではすべての失敗は致命的な問題として扱われます。つまり、失敗時にテストが異常終了します。いくつかの環境ではブレークポイントが設定されます。</para>
<para>--fatal-failuresコマンドラインオプションと同じ意味を持ちます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>fatal_failures</para></entry>
<entry role="parameter_description"><para>「失敗は致命的」モードで実行するなら<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-take-new-sub-process-group" role="function" condition="since:1.0.4">
<title>cut_take_new_sub_process_group ()</title>
<indexterm zone="cut-take-new-sub-process-group" role="1.0.4"><primary>cut_take_new_sub_process_group</primary></indexterm>
<programlisting language="C"><link linkend="CutSubProcessGroup"><returnvalue>CutSubProcessGroup</returnvalue></link> *
cut_take_new_sub_process_group (<parameter><type>void</type></parameter>);</programlisting>
<para>サブcuterプロセスのグループを作ります。作られたグループの所有者はCutterです。</para>
<refsect3 role="returns">
<title>Returns</title>
<para><link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link>オブジェクト。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-group-add" role="function" condition="since:1.0.4">
<title>cut_sub_process_group_add ()</title>
<indexterm zone="cut-sub-process-group-add" role="1.0.4"><primary>cut_sub_process_group_add</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_group_add (<parameter><link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link> *group</parameter>,
                           <parameter><link linkend="CutSubProcess"><type>CutSubProcess</type></link> *sub_process</parameter>);</programlisting>
<para>Adds <parameter>sub_process</parameter>
 to <parameter>group</parameter>
.</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>group</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
<row><entry role="parameter_name"><para>sub_process</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcess"><type>CutSubProcess</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-group-run" role="function" condition="since:1.0.4">
<title>cut_sub_process_group_run ()</title>
<indexterm zone="cut-sub-process-group-run" role="1.0.4"><primary>cut_sub_process_group_run</primary></indexterm>
<programlisting language="C"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
cut_sub_process_group_run (<parameter><link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link> *group</parameter>);</programlisting>
<para><parameter>group</parameter>内のすべてのサブcutterプロセスを実行し、その結果を返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>group</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para><parameter>group</parameter>内のすべてのサブcutterプロセスが正常終了したら<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>、そうでない場合は<link linkend="CUT-FALSE:CAPS"><literal>CUT_FALSE</literal></link>。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-group-run-async" role="function" condition="since:1.0.4">
<title>cut_sub_process_group_run_async ()</title>
<indexterm zone="cut-sub-process-group-run-async" role="1.0.4"><primary>cut_sub_process_group_run_async</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
cut_sub_process_group_run_async (<parameter><link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link> *group</parameter>);</programlisting>
<para><parameter>group</parameter>内のすべてのサブcutterプロセスを非同期で実行します。実行結果は<link linkend="cut-sub-process-group-wait"><function>cut_sub_process_group_wait()</function></link>で取得できます。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>group</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="cut-sub-process-group-wait" role="function" condition="since:1.0.4">
<title>cut_sub_process_group_wait ()</title>
<indexterm zone="cut-sub-process-group-wait" role="1.0.4"><primary>cut_sub_process_group_wait</primary></indexterm>
<programlisting language="C"><link linkend="cut-boolean"><returnvalue>cut_boolean</returnvalue></link>
cut_sub_process_group_wait (<parameter><link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link> *group</parameter>);</programlisting>
<para><parameter>group</parameter>内の非同期で実行されたすべてのサブcutterプロセスの終了を待ち、終了結果を返します。</para>
<refsect3 role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>group</para></entry>
<entry role="parameter_description"><para><link linkend="CutSubProcessGroup"><type>CutSubProcessGroup</type></link>オブジェクト。</para></entry>
<entry role="parameter_annotations"/></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 role="returns">
<title>Returns</title>
<para><parameter>group</parameter>内のすべてのサブcutterプロセスが正常終了したら<link linkend="CUT-TRUE:CAPS"><literal>CUT_TRUE</literal></link>、そうでない場合は<link linkend="CUT-FALSE:CAPS"><literal>CUT_FALSE</literal></link>。</para>
</refsect3><para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>

</refsect1>
<refsect1 id="cutter-Multi-Process.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="CutSubProcess" role="struct" condition="since:1.0.4">
<title>CutSubProcess</title>
<indexterm zone="CutSubProcess" role="1.0.4"><primary>CutSubProcess</primary></indexterm>
<programlisting language="C">typedef struct _CutSubProcess CutSubProcess;</programlisting>
<para>サブcutterプロセスを表現するオブジェクトです。サブcutterプロセスのパラメタとテスト結果を持っています。</para>
<para>例:</para>
<informalexample><programlisting><![CDATA[
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));
]]></programlisting></informalexample>
<para/>
<para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>
<refsect2 id="CutSubProcessGroup" role="struct" condition="since:1.0.4">
<title>CutSubProcessGroup</title>
<indexterm zone="CutSubProcessGroup" role="1.0.4"><primary>CutSubProcessGroup</primary></indexterm>
<programlisting language="C">typedef struct _CutSubProcessGroup CutSubProcessGroup;</programlisting>
<para>サブcutterプロセスを実行するオブジェクトです。このオブジェクトは便利にテストを書くために導入されています。</para>
<para>例:</para>
<informalexample><programlisting><![CDATA[
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));
]]></programlisting></informalexample>
<para/>
<para role="since">Since: <link linkend="api-index-1.0.4">1.0.4</link></para></refsect2>

</refsect1>

</refentry>
