This commit is contained in:
bthomee
2025-10-31 12:04:28 -07:00
parent f10222882f
commit d717d844f6
406 changed files with 7622 additions and 7613 deletions

View File

@@ -622,229 +622,231 @@ $(document).ready(function() { init_codefold(0); });
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__parent.html#a355c060adb28996d8a194589cf9e08d8">continue_message_queue_</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__parent.html#a48c538ae3e284b429dea35d17411e06f">message_queue_thread_</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/thread/thread/join.html">join</a>();</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> </div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a8fd28913f45486dd56bfc3d2cb65a3a4">print_results</a>(<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__parent.html#a50bb0fb4994cd9a4b371b4f6b1e8e6a3">os_</a>);</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> <a class="code hl_function" href="classripple_1_1test_1_1multi__runner__parent.html#a5b21c264691e4c37be53667d5dfc33fa">add_failures</a>(<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__parent.html#ae4e3cb7b3cd48dfb6816439bee352446">running_suites_</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/container/set/size.html">size</a>());</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> </div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; s : <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__parent.html#ae4e3cb7b3cd48dfb6816439bee352446">running_suites_</a>)</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> {</div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__parent.html#a50bb0fb4994cd9a4b371b4f6b1e8e6a3">os_</a> &lt;&lt; <span class="stringliteral">&quot;\nSuite: &quot;</span> &lt;&lt; s</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> &lt;&lt; <span class="stringliteral">&quot; failed to complete. The child process may have crashed.\n&quot;</span>;</div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> }</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span>}</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a8fd28913f45486dd56bfc3d2cb65a3a4">print_results</a>(<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__parent.html#a50bb0fb4994cd9a4b371b4f6b1e8e6a3">os_</a>);</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> </div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>&amp; s : <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__parent.html#ae4e3cb7b3cd48dfb6816439bee352446">running_suites_</a>)</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> {</div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__parent.html#a50bb0fb4994cd9a4b371b4f6b1e8e6a3">os_</a> &lt;&lt; <span class="stringliteral">&quot;\nSuite: &quot;</span> &lt;&lt; s</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> &lt;&lt; <span class="stringliteral">&quot; failed to complete. The child process may have crashed.\n&quot;</span>;</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> }</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span>}</div>
</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> </div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span><span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00477" data-start="{" data-end="}">
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__parent.html#a7950097337ad68e7b1e42088a46280a8"> 477</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__parent.html#a7950097337ad68e7b1e42088a46280a8">multi_runner_parent::any_failed</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> <span class="keywordflow">return</span> multi_runner_base&lt;true&gt;::any_failed();</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span>}</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> </div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span><span class="keywordtype">bool</span></div>
<div class="foldopen" id="foldopen00479" data-start="{" data-end="}">
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__parent.html#a7950097337ad68e7b1e42088a46280a8"> 479</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__parent.html#a7950097337ad68e7b1e42088a46280a8">multi_runner_parent::any_failed</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> <span class="keywordflow">return</span> multi_runner_base&lt;true&gt;::any_failed();</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span>}</div>
</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> </div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
<div class="foldopen" id="foldopen00483" data-start="{" data-end="}">
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__parent.html#a32055a6d520d708ebe14f7fa5bdbea59"> 483</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__parent.html#a32055a6d520d708ebe14f7fa5bdbea59">multi_runner_parent::tests</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> <span class="keywordflow">return</span> multi_runner_base&lt;true&gt;::tests();</div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span>}</div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> </div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
<div class="foldopen" id="foldopen00485" data-start="{" data-end="}">
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__parent.html#a32055a6d520d708ebe14f7fa5bdbea59"> 485</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__parent.html#a32055a6d520d708ebe14f7fa5bdbea59">multi_runner_parent::tests</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> <span class="keywordflow">return</span> multi_runner_base&lt;true&gt;::tests();</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span>}</div>
</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> </div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
<div class="foldopen" id="foldopen00489" data-start="{" data-end="}">
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__parent.html#a433a4a5b63dfc8a51576e93184803d4c"> 489</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__parent.html#a433a4a5b63dfc8a51576e93184803d4c">multi_runner_parent::suites</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> <span class="keywordflow">return</span> multi_runner_base&lt;true&gt;::suites();</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span>}</div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> </div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
<div class="foldopen" id="foldopen00491" data-start="{" data-end="}">
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__parent.html#a433a4a5b63dfc8a51576e93184803d4c"> 491</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__parent.html#a433a4a5b63dfc8a51576e93184803d4c">multi_runner_parent::suites</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> <span class="keywordflow">return</span> multi_runner_base&lt;true&gt;::suites();</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span>}</div>
</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> </div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00495" data-start="{" data-end="}">
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__parent.html#a5b21c264691e4c37be53667d5dfc33fa"> 495</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__parent.html#a5b21c264691e4c37be53667d5dfc33fa">multi_runner_parent::add_failures</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> failures)</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span>{</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> multi_runner_base&lt;true&gt;::add_failures(failures);</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span>}</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> </div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00497" data-start="{" data-end="}">
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__parent.html#a5b21c264691e4c37be53667d5dfc33fa"> 497</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__parent.html#a5b21c264691e4c37be53667d5dfc33fa">multi_runner_parent::add_failures</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> failures)</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span>{</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> multi_runner_base&lt;true&gt;::add_failures(failures);</div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span>}</div>
</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> </div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span><span class="comment">//------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> </div>
<div class="foldopen" id="foldopen00502" data-start="{" data-end="}">
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#abbb1e987a2f4dd89c2bb9b9b3b5a573c"> 502</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a053d5e34099f6672d0c7c4858177428c">multi_runner_child::multi_runner_child</a>(</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> num_jobs,</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> <span class="keywordtype">bool</span> quiet,</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> <span class="keywordtype">bool</span> print_log)</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> : job_index_{checkout_job_index()}</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> , num_jobs_{num_jobs}</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> , quiet_{quiet}</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> , print_log_{!quiet || print_log}</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span>{</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> {</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a14fd7ef5b5e7f3a47c0a2f26dc8e33bc">keep_alive_thread_</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/thread.html">std::thread</a>([<span class="keyword">this</span>] {</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> last_count = <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#ad9392c60d06e36f4ce26ff99fa21feb8">get_keep_alive_count</a>();</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> <span class="keywordflow">while</span> (this-&gt;<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#aa01678b2b168d1bf11a3f3ea81ea419f">continue_keep_alive_</a>)</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> {</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> <span class="comment">// Use a small sleep time so in the normal case the child</span></div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> <span class="comment">// process may shutdown quickly. However, to protect against</span></div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> <span class="comment">// false alarms, use a longer sleep time later on.</span></div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/thread/sleep_for.html">std::this_thread::sleep_for</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a>(500));</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> <span class="keyword">auto</span> cur_count = this-&gt;<a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#ad9392c60d06e36f4ce26ff99fa21feb8">get_keep_alive_count</a>();</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> <span class="keywordflow">if</span> (cur_count == last_count)</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> {</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> <span class="comment">// longer sleep time to protect against false alarms</span></div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/thread/sleep_for.html">std::this_thread::sleep_for</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>(2));</div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> cur_count = this-&gt;<a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#ad9392c60d06e36f4ce26ff99fa21feb8">get_keep_alive_count</a>();</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> <span class="keywordflow">if</span> (cur_count == last_count)</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> {</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> <span class="comment">// assume parent process is no longer alive</span></div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/cerr.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;multi_runner_child &quot;</span> &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">job_index_</a></div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> &lt;&lt; <span class="stringliteral">&quot;: Assuming parent died, exiting.\n&quot;</span>;</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(EXIT_FAILURE);</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> }</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> }</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> last_count = cur_count;</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> }</div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> });</div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> }</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span>}</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span><span class="comment">//------------------------------------------------------------------------------</span></div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> </div>
<div class="foldopen" id="foldopen00504" data-start="{" data-end="}">
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#abbb1e987a2f4dd89c2bb9b9b3b5a573c"> 504</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a053d5e34099f6672d0c7c4858177428c">multi_runner_child::multi_runner_child</a>(</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> num_jobs,</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> <span class="keywordtype">bool</span> quiet,</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> <span class="keywordtype">bool</span> print_log)</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> : job_index_{checkout_job_index()}</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> , num_jobs_{num_jobs}</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> , quiet_{quiet}</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> , print_log_{!quiet || print_log}</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span>{</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> {</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a14fd7ef5b5e7f3a47c0a2f26dc8e33bc">keep_alive_thread_</a> = <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/thread/thread.html">std::thread</a>([<span class="keyword">this</span>] {</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> last_count = <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#ad9392c60d06e36f4ce26ff99fa21feb8">get_keep_alive_count</a>();</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> <span class="keywordflow">while</span> (this-&gt;<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#aa01678b2b168d1bf11a3f3ea81ea419f">continue_keep_alive_</a>)</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> {</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> <span class="comment">// Use a small sleep time so in the normal case the child</span></div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> <span class="comment">// process may shutdown quickly. However, to protect against</span></div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> <span class="comment">// false alarms, use a longer sleep time later on.</span></div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/thread/sleep_for.html">std::this_thread::sleep_for</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::milliseconds</a>(500));</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> <span class="keyword">auto</span> cur_count = this-&gt;<a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#ad9392c60d06e36f4ce26ff99fa21feb8">get_keep_alive_count</a>();</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> <span class="keywordflow">if</span> (cur_count == last_count)</div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> {</div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"> 526</span> <span class="comment">// longer sleep time to protect against false alarms</span></div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"> 527</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/thread/sleep_for.html">std::this_thread::sleep_for</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/chrono/duration.html">std::chrono::seconds</a>(2));</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"> 528</span> cur_count = this-&gt;<a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#ad9392c60d06e36f4ce26ff99fa21feb8">get_keep_alive_count</a>();</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"> 529</span> <span class="keywordflow">if</span> (cur_count == last_count)</div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"> 530</span> {</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"> 531</span> <span class="comment">// assume parent process is no longer alive</span></div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"> 532</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/cerr.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;multi_runner_child &quot;</span> &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">job_index_</a></div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span> &lt;&lt; <span class="stringliteral">&quot;: Assuming parent died, exiting.\n&quot;</span>;</div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(EXIT_FAILURE);</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span> }</div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"> 536</span> }</div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span> last_count = cur_count;</div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"> 538</span> }</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"> 539</span> });</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> }</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"> 541</span>}</div>
</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"> 540</span> </div>
<div class="foldopen" id="foldopen00541" data-start="{" data-end="}">
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a982ea553cf802a50f5db000df6e2a272"> 541</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a982ea553cf802a50f5db000df6e2a272">multi_runner_child::~multi_runner_child</a>()</div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span>{</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span> {</div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#aa01678b2b168d1bf11a3f3ea81ea419f">continue_keep_alive_</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a14fd7ef5b5e7f3a47c0a2f26dc8e33bc">keep_alive_thread_</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/thread/thread/join.html">join</a>();</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> }</div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> </div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a77d4ff743686cc7b617223d2d4f55658">add</a>(<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">results_</a>);</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span>}</div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> </div>
<div class="foldopen" id="foldopen00543" data-start="{" data-end="}">
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a982ea553cf802a50f5db000df6e2a272"> 543</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a982ea553cf802a50f5db000df6e2a272">multi_runner_child::~multi_runner_child</a>()</div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"> 544</span>{</div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"> 545</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"> 546</span> {</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"> 547</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#aa01678b2b168d1bf11a3f3ea81ea419f">continue_keep_alive_</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a14fd7ef5b5e7f3a47c0a2f26dc8e33bc">keep_alive_thread_</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/thread/thread/join.html">join</a>();</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> }</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"> 550</span> </div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a77d4ff743686cc7b617223d2d4f55658">add</a>(<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">results_</a>);</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span>}</div>
</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"> 551</span> </div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"> 552</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
<div class="foldopen" id="foldopen00553" data-start="{" data-end="}">
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#aef362e03138daa4cad7e3c735670a6d2"> 553</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#aef362e03138daa4cad7e3c735670a6d2">multi_runner_child::tests</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"> 555</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1results.html#a585a9cb8d7b68a5dd1267c7e050fff2f">total</a>;</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span>}</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"> 553</span> </div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"> 554</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
<div class="foldopen" id="foldopen00555" data-start="{" data-end="}">
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#aef362e03138daa4cad7e3c735670a6d2"> 555</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#aef362e03138daa4cad7e3c735670a6d2">multi_runner_child::tests</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"> 556</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1results.html#a585a9cb8d7b68a5dd1267c7e050fff2f">total</a>;</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span>}</div>
</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"> 557</span> </div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
<div class="foldopen" id="foldopen00559" data-start="{" data-end="}">
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#aed74ca01b2aa07bd2f4ecded00a52f51"> 559</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#aed74ca01b2aa07bd2f4ecded00a52f51">multi_runner_child::suites</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"> 561</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1results.html#a000cef97b4582d3bcfb069bb98dac090">suites</a>;</div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span>}</div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"> 559</span> </div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"> 560</span><a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a></div>
<div class="foldopen" id="foldopen00561" data-start="{" data-end="}">
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#aed74ca01b2aa07bd2f4ecded00a52f51"> 561</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#aed74ca01b2aa07bd2f4ecded00a52f51">multi_runner_child::suites</a>()<span class="keyword"> const</span></div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"> 562</span><span class="keyword"></span>{</div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> <span class="keywordflow">return</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1results.html#a000cef97b4582d3bcfb069bb98dac090">suites</a>;</div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span>}</div>
</div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"> 563</span> </div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00565" data-start="{" data-end="}">
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a88e3792ce02aac13f30f53d9f0f80203"> 565</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a88e3792ce02aac13f30f53d9f0f80203">multi_runner_child::add_failures</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> failures)</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span>{</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"> 567</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1results.html#a37fc28a2e23f83d687b8cf0d0cde960b">failed</a> += failures;</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#aec09fe38c723c5cda5fc62506666ae74">any_failed</a>(failures != 0);</div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span>}</div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"> 565</span> </div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"> 566</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00567" data-start="{" data-end="}">
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a88e3792ce02aac13f30f53d9f0f80203"> 567</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a88e3792ce02aac13f30f53d9f0f80203">multi_runner_child::add_failures</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> failures)</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"> 568</span>{</div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"> 569</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1results.html#a37fc28a2e23f83d687b8cf0d0cde960b">failed</a> += failures;</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#aec09fe38c723c5cda5fc62506666ae74">any_failed</a>(failures != 0);</div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span>}</div>
</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"> 570</span> </div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"> 571</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00572" data-start="{" data-end="}">
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#aac62e5455c9b12398c39bf74b0f774de"> 572</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#aac62e5455c9b12398c39bf74b0f774de">multi_runner_child::on_suite_begin</a>(<a class="code hl_class" href="classbeast_1_1unit__test_1_1suite__info.html">beast::unit_test::suite_info</a> <span class="keyword">const</span>&amp; info)</div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span>{</div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"> 574</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a> = <a class="code hl_struct" href="structripple_1_1detail_1_1suite__results.html">detail::suite_results</a>{info.<a class="code hl_function" href="classbeast_1_1unit__test_1_1suite__info.html#a704ce929bf4f46cedd0306e232b9e4ab">full_name</a>()};</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::test_start, <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a0f725404ed5efa34612afdba11895e64">name</a>);</div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span>}</div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> </div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"> 573</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00574" data-start="{" data-end="}">
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#aac62e5455c9b12398c39bf74b0f774de"> 574</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#aac62e5455c9b12398c39bf74b0f774de">multi_runner_child::on_suite_begin</a>(<a class="code hl_class" href="classbeast_1_1unit__test_1_1suite__info.html">beast::unit_test::suite_info</a> <span class="keyword">const</span>&amp; info)</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"> 575</span>{</div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"> 576</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a> = <a class="code hl_struct" href="structripple_1_1detail_1_1suite__results.html">detail::suite_results</a>{info.<a class="code hl_function" href="classbeast_1_1unit__test_1_1suite__info.html#a704ce929bf4f46cedd0306e232b9e4ab">full_name</a>()};</div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::test_start, <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a0f725404ed5efa34612afdba11895e64">name</a>);</div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span>}</div>
</div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> </div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00579" data-start="{" data-end="}">
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a9f2a73456540e386e4bbeeb145062b71"> 579</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a9f2a73456540e386e4bbeeb145062b71">multi_runner_child::on_suite_end</a>()</div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span>{</div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"> 581</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a606b8616d185b74788e9b0fece55260c">print_log_</a> || <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a4e89209f8e529d90dcc23a1c4b895dd6">failed</a> &gt; 0)</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span> {</div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> s;</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> s &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">job_index_</a> &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> s &lt;&lt; (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a4e89209f8e529d90dcc23a1c4b895dd6">failed</a> &gt; 0 ? <span class="stringliteral">&quot;failed: &quot;</span> : <span class="stringliteral">&quot;&quot;</span>)</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a0f725404ed5efa34612afdba11895e64">name</a> &lt;&lt; <span class="stringliteral">&quot; had &quot;</span> &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a4e89209f8e529d90dcc23a1c4b895dd6">failed</a></div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span> &lt;&lt; <span class="stringliteral">&quot; failures.&quot;</span> &lt;&lt; <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::log, s.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span> }</div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">results_</a>.<a class="code hl_function" href="structripple_1_1detail_1_1results.html#a215b1ce7177d0979625d0d2c16af0fe1">add</a>(<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>);</div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::test_end, <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a0f725404ed5efa34612afdba11895e64">name</a>);</div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span>}</div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"> 579</span> </div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"> 580</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00581" data-start="{" data-end="}">
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a9f2a73456540e386e4bbeeb145062b71"> 581</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a9f2a73456540e386e4bbeeb145062b71">multi_runner_child::on_suite_end</a>()</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"> 582</span>{</div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"> 583</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a606b8616d185b74788e9b0fece55260c">print_log_</a> || <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a4e89209f8e529d90dcc23a1c4b895dd6">failed</a> &gt; 0)</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"> 584</span> {</div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"> 585</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> s;</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"> 586</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"> 587</span> s &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">job_index_</a> &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"> 588</span> s &lt;&lt; (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a4e89209f8e529d90dcc23a1c4b895dd6">failed</a> &gt; 0 ? <span class="stringliteral">&quot;failed: &quot;</span> : <span class="stringliteral">&quot;&quot;</span>)</div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"> 589</span> &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a0f725404ed5efa34612afdba11895e64">name</a> &lt;&lt; <span class="stringliteral">&quot; had &quot;</span> &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a4e89209f8e529d90dcc23a1c4b895dd6">failed</a></div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"> 590</span> &lt;&lt; <span class="stringliteral">&quot; failures.&quot;</span> &lt;&lt; <a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"> 591</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::log, s.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"> 592</span> }</div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"> 593</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">results_</a>.<a class="code hl_function" href="structripple_1_1detail_1_1results.html#a215b1ce7177d0979625d0d2c16af0fe1">add</a>(<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>);</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::test_end, <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a0f725404ed5efa34612afdba11895e64">name</a>);</div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span>}</div>
</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"> 594</span> </div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00596" data-start="{" data-end="}">
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a51ab645fb7ef38a940ade75ad2299412"> 596</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a51ab645fb7ef38a940ade75ad2299412">multi_runner_child::on_case_begin</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; name)</div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span>{</div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"> 598</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a> = <a class="code hl_struct" href="structripple_1_1detail_1_1case__results.html">detail::case_results</a>(name);</div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span> </div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a7f4f75d95550f8910566e61d9d80f22c">quiet_</a>)</div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span> </div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> s;</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> s &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">job_index_</a> &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span> s &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a0f725404ed5efa34612afdba11895e64">name</a></div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span> &lt;&lt; (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#a1714365448c9f2fa9cb97132ae7ab258">name</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>() ? <span class="stringliteral">&quot;&quot;</span> : (<span class="stringliteral">&quot; &quot;</span> + <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#a1714365448c9f2fa9cb97132ae7ab258">name</a>)) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::log, s.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span>}</div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span> </div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"> 597</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00598" data-start="{" data-end="}">
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a51ab645fb7ef38a940ade75ad2299412"> 598</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a51ab645fb7ef38a940ade75ad2299412">multi_runner_child::on_case_begin</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; name)</div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"> 599</span>{</div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"> 600</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a> = <a class="code hl_struct" href="structripple_1_1detail_1_1case__results.html">detail::case_results</a>(name);</div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"> 601</span> </div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"> 602</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a7f4f75d95550f8910566e61d9d80f22c">quiet_</a>)</div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"> 603</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"> 604</span> </div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"> 605</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> s;</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"> 606</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"> 607</span> s &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">job_index_</a> &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"> 608</span> s &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1suite__results.html#a0f725404ed5efa34612afdba11895e64">name</a></div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> &lt;&lt; (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#a1714365448c9f2fa9cb97132ae7ab258">name</a>.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>() ? <span class="stringliteral">&quot;&quot;</span> : (<span class="stringliteral">&quot; &quot;</span> + <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#a1714365448c9f2fa9cb97132ae7ab258">name</a>)) &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::log, s.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span>}</div>
</div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> </div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00612" data-start="{" data-end="}">
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a14311c8b17066b96487dbc988dcb18d2"> 612</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a14311c8b17066b96487dbc988dcb18d2">multi_runner_child::on_case_end</a>()</div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span>{</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_function" href="structripple_1_1detail_1_1suite__results.html#a2c9689d060e4dfa4d4bdb20f8a426db9">add</a>(<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>);</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span>}</div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"> 612</span> </div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00614" data-start="{" data-end="}">
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a14311c8b17066b96487dbc988dcb18d2"> 614</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a14311c8b17066b96487dbc988dcb18d2">multi_runner_child::on_case_end</a>()</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"> 615</span>{</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">suite_results_</a>.<a class="code hl_function" href="structripple_1_1detail_1_1suite__results.html#a2c9689d060e4dfa4d4bdb20f8a426db9">add</a>(<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>);</div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span>}</div>
</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"> 616</span> </div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"> 617</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00618" data-start="{" data-end="}">
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#acac5db0c19a6e1da379f9e4b91accc21"> 618</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#acac5db0c19a6e1da379f9e4b91accc21">multi_runner_child::on_pass</a>()</div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span>{</div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"> 620</span> ++<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#af7d52d3e12fc23a85ffba100dec17c87">total</a>;</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span>}</div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"> 618</span> </div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"> 619</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00620" data-start="{" data-end="}">
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#acac5db0c19a6e1da379f9e4b91accc21"> 620</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#acac5db0c19a6e1da379f9e4b91accc21">multi_runner_child::on_pass</a>()</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span>{</div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> ++<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#af7d52d3e12fc23a85ffba100dec17c87">total</a>;</div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span>}</div>
</div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> </div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"> 623</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00624" data-start="{" data-end="}">
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#ad6582d8735b76b0673b62b10e89c36dd"> 624</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#ad6582d8735b76b0673b62b10e89c36dd">multi_runner_child::on_fail</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; reason)</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span>{</div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"> 626</span> ++<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#a61f0e69695b4eb4df8cf66591db4f4df">failed</a>;</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span> ++<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#af7d52d3e12fc23a85ffba100dec17c87">total</a>;</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> s;</div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span> s &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">job_index_</a> &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span> s &lt;&lt; <span class="stringliteral">&quot;#&quot;</span> &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#af7d52d3e12fc23a85ffba100dec17c87">total</a> &lt;&lt; <span class="stringliteral">&quot; failed&quot;</span> &lt;&lt; (reason.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>() ? <span class="stringliteral">&quot;&quot;</span> : <span class="stringliteral">&quot;: &quot;</span>)</div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span> &lt;&lt; reason &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::log, s.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span>}</div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"> 624</span> </div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"> 625</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00626" data-start="{" data-end="}">
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#ad6582d8735b76b0673b62b10e89c36dd"> 626</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#ad6582d8735b76b0673b62b10e89c36dd">multi_runner_child::on_fail</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; reason)</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"> 627</span>{</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"> 628</span> ++<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#a61f0e69695b4eb4df8cf66591db4f4df">failed</a>;</div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"> 629</span> ++<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#af7d52d3e12fc23a85ffba100dec17c87">total</a>;</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"> 630</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> s;</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"> 631</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"> 632</span> s &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">job_index_</a> &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"> 633</span> s &lt;&lt; <span class="stringliteral">&quot;#&quot;</span> &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">case_results_</a>.<a class="code hl_variable" href="structripple_1_1detail_1_1case__results.html#af7d52d3e12fc23a85ffba100dec17c87">total</a> &lt;&lt; <span class="stringliteral">&quot; failed&quot;</span> &lt;&lt; (reason.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/string/basic_string/empty.html">empty</a>() ? <span class="stringliteral">&quot;&quot;</span> : <span class="stringliteral">&quot;: &quot;</span>)</div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"> 634</span> &lt;&lt; reason &lt;&lt; <span class="charliteral">&#39;\n&#39;</span>;</div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"> 635</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::log, s.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span>}</div>
</div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"> 635</span> </div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"> 636</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00637" data-start="{" data-end="}">
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a0651d47d9a021801a30e9a0b60844d0a"> 637</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a0651d47d9a021801a30e9a0b60844d0a">multi_runner_child::on_log</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; msg)</div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span>{</div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"> 639</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a606b8616d185b74788e9b0fece55260c">print_log_</a>)</div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> </div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> s;</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span> s &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">job_index_</a> &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span> s &lt;&lt; msg;</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::log, s.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span>}</div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"> 637</span> </div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"> 638</span><span class="keywordtype">void</span></div>
<div class="foldopen" id="foldopen00639" data-start="{" data-end="}">
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"><a class="line" href="classripple_1_1test_1_1multi__runner__child.html#a0651d47d9a021801a30e9a0b60844d0a"> 639</a></span><a class="code hl_function" href="classripple_1_1test_1_1multi__runner__child.html#a0651d47d9a021801a30e9a0b60844d0a">multi_runner_child::on_log</a>(<a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> <span class="keyword">const</span>&amp; msg)</div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"> 640</span>{</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"> 641</span> <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a606b8616d185b74788e9b0fece55260c">print_log_</a>)</div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"> 642</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"> 643</span> </div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"> 644</span> <a class="code hl_classRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream.html">std::stringstream</a> s;</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"> 645</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">num_jobs_</a> &gt; 1)</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"> 646</span> s &lt;&lt; <a class="code hl_variable" href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">job_index_</a> &lt;&lt; <span class="stringliteral">&quot;&gt; &quot;</span>;</div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"> 647</span> s &lt;&lt; msg;</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> <a class="code hl_function" href="classripple_1_1detail_1_1multi__runner__base.html#a5f48e3201808a893ae9db151bc9703d8">message_queue_send</a>(MessageType::log, s.<a class="code hl_functionRef" href="http://en.cppreference.com/w/cpp/io/basic_stringstream/str.html">str</a>());</div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span>}</div>
</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"> 648</span> </div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"> 649</span>} <span class="comment">// namespace test</span></div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> </div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span><span class="keyword">namespace </span>detail {</div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span><span class="keyword">template</span> <span class="keyword">class </span>multi_runner_base&lt;true&gt;;</div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span><span class="keyword">template</span> <span class="keyword">class </span>multi_runner_base&lt;false&gt;;</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span>} <span class="comment">// namespace detail</span></div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span> </div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span>} <span class="comment">// namespace ripple</span></div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span>} <span class="comment">// namespace test</span></div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"> 652</span> </div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span><span class="keyword">namespace </span>detail {</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span><span class="keyword">template</span> <span class="keyword">class </span>multi_runner_base&lt;true&gt;;</div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"> 655</span><span class="keyword">template</span> <span class="keyword">class </span>multi_runner_base&lt;false&gt;;</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"> 656</span>} <span class="comment">// namespace detail</span></div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"> 657</span> </div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"> 658</span>} <span class="comment">// namespace ripple</span></div>
</div>
</div>
</div>
@@ -902,33 +904,33 @@ $(document).ready(function() { init_codefold(0); });
<div class="ttc" id="aclassripple_1_1detail_1_1multi__runner__base_html_aec09fe38c723c5cda5fc62506666ae74"><div class="ttname"><a href="classripple_1_1detail_1_1multi__runner__base.html#aec09fe38c723c5cda5fc62506666ae74">ripple::detail::multi_runner_base::any_failed</a></div><div class="ttdeci">bool any_failed() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00311">multi_runner.cpp:311</a></div></div>
<div class="ttc" id="aclassripple_1_1detail_1_1multi__runner__base_html_aeccdd8a747cb3d09d7a3e76309888eac"><div class="ttname"><a href="classripple_1_1detail_1_1multi__runner__base.html#aeccdd8a747cb3d09d7a3e76309888eac">ripple::detail::multi_runner_base::inc_keep_alive_count</a></div><div class="ttdeci">void inc_keep_alive_count()</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00332">multi_runner.cpp:332</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a053d5e34099f6672d0c7c4858177428c"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a053d5e34099f6672d0c7c4858177428c">ripple::test::multi_runner_child::multi_runner_child</a></div><div class="ttdeci">multi_runner_child(multi_runner_child const &amp;)=delete</div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a0651d47d9a021801a30e9a0b60844d0a"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a0651d47d9a021801a30e9a0b60844d0a">ripple::test::multi_runner_child::on_log</a></div><div class="ttdeci">virtual void on_log(std::string const &amp;s) override</div><div class="ttdoc">Called when a test logs output.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00637">multi_runner.cpp:637</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a0651d47d9a021801a30e9a0b60844d0a"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a0651d47d9a021801a30e9a0b60844d0a">ripple::test::multi_runner_child::on_log</a></div><div class="ttdeci">virtual void on_log(std::string const &amp;s) override</div><div class="ttdoc">Called when a test logs output.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00639">multi_runner.cpp:639</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a07ec20cef34bbc2d7b4694ef4a838385"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a07ec20cef34bbc2d7b4694ef4a838385">ripple::test::multi_runner_child::case_results_</a></div><div class="ttdeci">detail::case_results case_results_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00262">multi_runner.h:262</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a14311c8b17066b96487dbc988dcb18d2"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a14311c8b17066b96487dbc988dcb18d2">ripple::test::multi_runner_child::on_case_end</a></div><div class="ttdeci">virtual void on_case_end() override</div><div class="ttdoc">Called when a new case ends.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00612">multi_runner.cpp:612</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a14311c8b17066b96487dbc988dcb18d2"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a14311c8b17066b96487dbc988dcb18d2">ripple::test::multi_runner_child::on_case_end</a></div><div class="ttdeci">virtual void on_case_end() override</div><div class="ttdoc">Called when a new case ends.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00614">multi_runner.cpp:614</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a14fd7ef5b5e7f3a47c0a2f26dc8e33bc"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a14fd7ef5b5e7f3a47c0a2f26dc8e33bc">ripple::test::multi_runner_child::keep_alive_thread_</a></div><div class="ttdeci">std::thread keep_alive_thread_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00268">multi_runner.h:268</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a20d5abc2b64e1b654301daac7c0a949e"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a20d5abc2b64e1b654301daac7c0a949e">ripple::test::multi_runner_child::results_</a></div><div class="ttdeci">detail::results results_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00260">multi_runner.h:260</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a31b2bcb6eb397542f0be954ee7b9b6b9"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a31b2bcb6eb397542f0be954ee7b9b6b9">ripple::test::multi_runner_child::suite_results_</a></div><div class="ttdeci">detail::suite_results suite_results_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00261">multi_runner.h:261</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a51ab645fb7ef38a940ade75ad2299412"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a51ab645fb7ef38a940ade75ad2299412">ripple::test::multi_runner_child::on_case_begin</a></div><div class="ttdeci">virtual void on_case_begin(std::string const &amp;name) override</div><div class="ttdoc">Called when a new case starts.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00596">multi_runner.cpp:596</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a51ab645fb7ef38a940ade75ad2299412"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a51ab645fb7ef38a940ade75ad2299412">ripple::test::multi_runner_child::on_case_begin</a></div><div class="ttdeci">virtual void on_case_begin(std::string const &amp;name) override</div><div class="ttdoc">Called when a new case starts.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00598">multi_runner.cpp:598</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a606b8616d185b74788e9b0fece55260c"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a606b8616d185b74788e9b0fece55260c">ripple::test::multi_runner_child::print_log_</a></div><div class="ttdeci">bool print_log_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00265">multi_runner.h:265</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a6c266b81d7204ca8b92111eb21f3dce6"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a6c266b81d7204ca8b92111eb21f3dce6">ripple::test::multi_runner_child::num_jobs_</a></div><div class="ttdeci">std::size_t num_jobs_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00263">multi_runner.h:263</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a7f4f75d95550f8910566e61d9d80f22c"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a7f4f75d95550f8910566e61d9d80f22c">ripple::test::multi_runner_child::quiet_</a></div><div class="ttdeci">bool quiet_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00264">multi_runner.h:264</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a88e3792ce02aac13f30f53d9f0f80203"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a88e3792ce02aac13f30f53d9f0f80203">ripple::test::multi_runner_child::add_failures</a></div><div class="ttdeci">void add_failures(std::size_t failures)</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00565">multi_runner.cpp:565</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a982ea553cf802a50f5db000df6e2a272"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a982ea553cf802a50f5db000df6e2a272">ripple::test::multi_runner_child::~multi_runner_child</a></div><div class="ttdeci">~multi_runner_child()</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00541">multi_runner.cpp:541</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a9f2a73456540e386e4bbeeb145062b71"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a9f2a73456540e386e4bbeeb145062b71">ripple::test::multi_runner_child::on_suite_end</a></div><div class="ttdeci">virtual void on_suite_end() override</div><div class="ttdoc">Called when a suite ends.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00579">multi_runner.cpp:579</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a88e3792ce02aac13f30f53d9f0f80203"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a88e3792ce02aac13f30f53d9f0f80203">ripple::test::multi_runner_child::add_failures</a></div><div class="ttdeci">void add_failures(std::size_t failures)</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00567">multi_runner.cpp:567</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a982ea553cf802a50f5db000df6e2a272"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a982ea553cf802a50f5db000df6e2a272">ripple::test::multi_runner_child::~multi_runner_child</a></div><div class="ttdeci">~multi_runner_child()</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00543">multi_runner.cpp:543</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_a9f2a73456540e386e4bbeeb145062b71"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#a9f2a73456540e386e4bbeeb145062b71">ripple::test::multi_runner_child::on_suite_end</a></div><div class="ttdeci">virtual void on_suite_end() override</div><div class="ttdoc">Called when a suite ends.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00581">multi_runner.cpp:581</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_aa01678b2b168d1bf11a3f3ea81ea419f"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#aa01678b2b168d1bf11a3f3ea81ea419f">ripple::test::multi_runner_child::continue_keep_alive_</a></div><div class="ttdeci">std::atomic&lt; bool &gt; continue_keep_alive_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00267">multi_runner.h:267</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_aac62e5455c9b12398c39bf74b0f774de"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#aac62e5455c9b12398c39bf74b0f774de">ripple::test::multi_runner_child::on_suite_begin</a></div><div class="ttdeci">virtual void on_suite_begin(beast::unit_test::suite_info const &amp;info) override</div><div class="ttdoc">Called when a new suite starts.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00572">multi_runner.cpp:572</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_acac5db0c19a6e1da379f9e4b91accc21"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#acac5db0c19a6e1da379f9e4b91accc21">ripple::test::multi_runner_child::on_pass</a></div><div class="ttdeci">virtual void on_pass() override</div><div class="ttdoc">Called for each passing condition.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00618">multi_runner.cpp:618</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_ad6582d8735b76b0673b62b10e89c36dd"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#ad6582d8735b76b0673b62b10e89c36dd">ripple::test::multi_runner_child::on_fail</a></div><div class="ttdeci">virtual void on_fail(std::string const &amp;reason) override</div><div class="ttdoc">Called for each failing condition.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00624">multi_runner.cpp:624</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_aed74ca01b2aa07bd2f4ecded00a52f51"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#aed74ca01b2aa07bd2f4ecded00a52f51">ripple::test::multi_runner_child::suites</a></div><div class="ttdeci">std::size_t suites() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00559">multi_runner.cpp:559</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_aef362e03138daa4cad7e3c735670a6d2"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#aef362e03138daa4cad7e3c735670a6d2">ripple::test::multi_runner_child::tests</a></div><div class="ttdeci">std::size_t tests() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00553">multi_runner.cpp:553</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_aac62e5455c9b12398c39bf74b0f774de"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#aac62e5455c9b12398c39bf74b0f774de">ripple::test::multi_runner_child::on_suite_begin</a></div><div class="ttdeci">virtual void on_suite_begin(beast::unit_test::suite_info const &amp;info) override</div><div class="ttdoc">Called when a new suite starts.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00574">multi_runner.cpp:574</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_acac5db0c19a6e1da379f9e4b91accc21"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#acac5db0c19a6e1da379f9e4b91accc21">ripple::test::multi_runner_child::on_pass</a></div><div class="ttdeci">virtual void on_pass() override</div><div class="ttdoc">Called for each passing condition.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00620">multi_runner.cpp:620</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_ad6582d8735b76b0673b62b10e89c36dd"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#ad6582d8735b76b0673b62b10e89c36dd">ripple::test::multi_runner_child::on_fail</a></div><div class="ttdeci">virtual void on_fail(std::string const &amp;reason) override</div><div class="ttdoc">Called for each failing condition.</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00626">multi_runner.cpp:626</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_aed74ca01b2aa07bd2f4ecded00a52f51"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#aed74ca01b2aa07bd2f4ecded00a52f51">ripple::test::multi_runner_child::suites</a></div><div class="ttdeci">std::size_t suites() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00561">multi_runner.cpp:561</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_aef362e03138daa4cad7e3c735670a6d2"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#aef362e03138daa4cad7e3c735670a6d2">ripple::test::multi_runner_child::tests</a></div><div class="ttdeci">std::size_t tests() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00555">multi_runner.cpp:555</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__child_html_af780bfef631c84d178ddf8f5ba36ee09"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__child.html#af780bfef631c84d178ddf8f5ba36ee09">ripple::test::multi_runner_child::job_index_</a></div><div class="ttdeci">std::size_t job_index_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00259">multi_runner.h:259</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a32055a6d520d708ebe14f7fa5bdbea59"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a32055a6d520d708ebe14f7fa5bdbea59">ripple::test::multi_runner_parent::tests</a></div><div class="ttdeci">std::size_t tests() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00483">multi_runner.cpp:483</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a32055a6d520d708ebe14f7fa5bdbea59"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a32055a6d520d708ebe14f7fa5bdbea59">ripple::test::multi_runner_parent::tests</a></div><div class="ttdeci">std::size_t tests() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00485">multi_runner.cpp:485</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a355c060adb28996d8a194589cf9e08d8"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a355c060adb28996d8a194589cf9e08d8">ripple::test::multi_runner_parent::continue_message_queue_</a></div><div class="ttdeci">std::atomic&lt; bool &gt; continue_message_queue_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00225">multi_runner.h:225</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a433a4a5b63dfc8a51576e93184803d4c"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a433a4a5b63dfc8a51576e93184803d4c">ripple::test::multi_runner_parent::suites</a></div><div class="ttdeci">std::size_t suites() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00489">multi_runner.cpp:489</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a433a4a5b63dfc8a51576e93184803d4c"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a433a4a5b63dfc8a51576e93184803d4c">ripple::test::multi_runner_parent::suites</a></div><div class="ttdeci">std::size_t suites() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00491">multi_runner.cpp:491</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a48c538ae3e284b429dea35d17411e06f"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a48c538ae3e284b429dea35d17411e06f">ripple::test::multi_runner_parent::message_queue_thread_</a></div><div class="ttdeci">std::thread message_queue_thread_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00226">multi_runner.h:226</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a50bb0fb4994cd9a4b371b4f6b1e8e6a3"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a50bb0fb4994cd9a4b371b4f6b1e8e6a3">ripple::test::multi_runner_parent::os_</a></div><div class="ttdeci">std::ostream &amp; os_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00224">multi_runner.h:224</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a5b21c264691e4c37be53667d5dfc33fa"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a5b21c264691e4c37be53667d5dfc33fa">ripple::test::multi_runner_parent::add_failures</a></div><div class="ttdeci">void add_failures(std::size_t failures)</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00495">multi_runner.cpp:495</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a7950097337ad68e7b1e42088a46280a8"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a7950097337ad68e7b1e42088a46280a8">ripple::test::multi_runner_parent::any_failed</a></div><div class="ttdeci">bool any_failed() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00477">multi_runner.cpp:477</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a5b21c264691e4c37be53667d5dfc33fa"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a5b21c264691e4c37be53667d5dfc33fa">ripple::test::multi_runner_parent::add_failures</a></div><div class="ttdeci">void add_failures(std::size_t failures)</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00497">multi_runner.cpp:497</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_a7950097337ad68e7b1e42088a46280a8"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#a7950097337ad68e7b1e42088a46280a8">ripple::test::multi_runner_parent::any_failed</a></div><div class="ttdeci">bool any_failed() const</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00479">multi_runner.cpp:479</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_aab8aee5940d14bf0555137888fc1e384"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#aab8aee5940d14bf0555137888fc1e384">ripple::test::multi_runner_parent::~multi_runner_parent</a></div><div class="ttdeci">~multi_runner_parent()</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8cpp_source.html#l00460">multi_runner.cpp:460</a></div></div>
<div class="ttc" id="aclassripple_1_1test_1_1multi__runner__parent_html_ae4e3cb7b3cd48dfb6816439bee352446"><div class="ttname"><a href="classripple_1_1test_1_1multi__runner__parent.html#ae4e3cb7b3cd48dfb6816439bee352446">ripple::test::multi_runner_parent::running_suites_</a></div><div class="ttdeci">std::set&lt; std::string &gt; running_suites_</div><div class="ttdef"><b>Definition</b> <a href="multi__runner_8h_source.html#l00228">multi_runner.h:228</a></div></div>
<div class="ttc" id="aconditional_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/conditional.html">std::conditional_t</a></div></div>