gnuk/ChibiOS_2.0.6/docs/html/group__test.html
2010-11-22 14:53:37 +09:00

555 lines
26 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>ChibiOS/RT: Test Runtime</title>
<link href="custom.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<table style="text-align: center; width: 100%;" border="0"
cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 80px;"><img alt="ChibiOS/RT Logo" src="logo_small.png"></td>
<td><big><big>ChibiOS/RT</big></big><br><br>Architecture - Reference Manual - Guides</td>
<td style="width: 80px;"></td>
</tr>
</tbody>
</table>
<hr size="1">
<!-- Generated by Doxygen 1.7.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul class="tablist">
<li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<h1>Test Runtime</h1> </div>
</div>
<div class="contents">
<hr/><a name="_details"></a><h2>Description</h2>
<p>Runtime code for the test suite execution, this code is not part of the OS and should not be included in user applications. </p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structtestcase.html">testcase</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Structure representing a test case. <a href="structtestcase.html#_details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#ga7417eac27c938fcd3e7bbbf36ea29d17">DELAY_BETWEEN_TESTS</a>&nbsp;&nbsp;&nbsp;200</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delay inserted between test cases. <a href="#ga7417eac27c938fcd3e7bbbf36ea29d17"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#gac35bb55c5e46bf6f19a62606dec25c04">TEST_NO_BENCHMARKS</a>&nbsp;&nbsp;&nbsp;FALSE</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If <code>TRUE</code> then benchmarks are not included. <a href="#gac35bb55c5e46bf6f19a62606dec25c04"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#ga7839549262e1e0d8fedb90ef2bd4009e">test_fail</a>(point)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test failure enforcement. <a href="#ga7839549262e1e0d8fedb90ef2bd4009e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#ga835cb17ca3869922b49435d95324a68b">test_assert</a>(point, condition, msg)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test assertion. <a href="#ga835cb17ca3869922b49435d95324a68b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#ga876d47c016ac2d69d6611274252bdaf9">test_assert_sequence</a>(point, expected)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test sequence assertion. <a href="#ga876d47c016ac2d69d6611274252bdaf9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#gabb18a77859d6fc0972a35d88f11a90e1">test_assert_time_window</a>(point, start, end)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test time window assertion. <a href="#gabb18a77859d6fc0972a35d88f11a90e1"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#ga5551ca9506fe131cae2e4036c512cc98">test_printn</a> (<a class="el" href="group___s_t_m8___c_o_r_e.html#ga06896e8c53f721507066c079052171f8">uint32_t</a> n)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints a decimal unsigned number. <a href="#ga5551ca9506fe131cae2e4036c512cc98"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#ga65f8ec6aa3d624a48d498f04efa2dce8">test_print</a> (char *msgp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints a line without final end-of-line. <a href="#ga65f8ec6aa3d624a48d498f04efa2dce8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#gaf5e5d95b5ea7bd33f91ca52ee8088f4e">test_println</a> (char *msgp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prints a line. <a href="#gaf5e5d95b5ea7bd33f91ca52ee8088f4e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#gab3d9527d7616b3f9f8cba60cda0211a8">test_emit_token</a> (char token)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Emits a token into the tokens buffer. <a href="#gab3d9527d7616b3f9f8cba60cda0211a8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#ga9415896a22ab615391028ec0852bc678">test_terminate_threads</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pends a termination request in all the test-spawned threads. <a href="#ga9415896a22ab615391028ec0852bc678"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#ga361d9d2685d79754206ae8af370a303c">test_wait_threads</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Waits for the completion of all the test-spawned threads. <a href="#ga361d9d2685d79754206ae8af370a303c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#ga92f3d7b7f63683ca0e873dd19eb450b0">test_cpu_pulse</a> (unsigned duration)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">CPU pulse. <a href="#ga92f3d7b7f63683ca0e873dd19eb450b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#gae3e32a98d431a02106616da3071832dd">systime_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#gac067dd7ee03b2c56d4d26ce9815ed3f7">test_wait_tick</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delays execution until next system time tick. <a href="#gac067dd7ee03b2c56d4d26ce9815ed3f7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#gad4ce516117b9a9c8cd884c192c8f9bb1">test_start_timer</a> (unsigned ms)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Starts the test timer. <a href="#gad4ce516117b9a9c8cd884c192c8f9bb1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3">msg_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#ga6b0a5b39f57674777d7b044e1a15603a">TestThread</a> (void *p)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test execution thread function. <a href="#ga6b0a5b39f57674777d7b044e1a15603a"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="var-members"></a>
Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga7556af1cb61728b53228fa3af1c851de">bool_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__test.html#gad74c89f8a5049c1055b6a0f0596424b0">test_timer_done</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set to <code>TRUE</code> when the test timer reaches its deadline. <a href="#gad74c89f8a5049c1055b6a0f0596424b0"></a><br/></td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="ga7417eac27c938fcd3e7bbbf36ea29d17"></a><!-- doxytag: member="test.h::DELAY_BETWEEN_TESTS" ref="ga7417eac27c938fcd3e7bbbf36ea29d17" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DELAY_BETWEEN_TESTS&nbsp;&nbsp;&nbsp;200</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Delay inserted between test cases. </p>
<p>Definition at line <a class="el" href="test_8h_source.html#l00042">42</a> of file <a class="el" href="test_8h_source.html">test.h</a>.</p>
</div>
</div>
<a class="anchor" id="gac35bb55c5e46bf6f19a62606dec25c04"></a><!-- doxytag: member="test.h::TEST_NO_BENCHMARKS" ref="gac35bb55c5e46bf6f19a62606dec25c04" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TEST_NO_BENCHMARKS&nbsp;&nbsp;&nbsp;FALSE</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>If <code>TRUE</code> then benchmarks are not included. </p>
<p>Definition at line <a class="el" href="test_8h_source.html#l00049">49</a> of file <a class="el" href="test_8h_source.html">test.h</a>.</p>
</div>
</div>
<a class="anchor" id="ga7839549262e1e0d8fedb90ef2bd4009e"></a><!-- doxytag: member="test.h::test_fail" ref="ga7839549262e1e0d8fedb90ef2bd4009e" args="(point)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define test_fail</td>
<td>(</td>
<td class="paramtype">&nbsp;</td>
<td class="paramname">point</td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">{ \
_test_fail(point); \
<span class="keywordflow">return</span>; \
}
</pre></div>
<p>Test failure enforcement. </p>
<p>Definition at line <a class="el" href="test_8h_source.html#l00118">118</a> of file <a class="el" href="test_8h_source.html">test.h</a>.</p>
</div>
</div>
<a class="anchor" id="ga835cb17ca3869922b49435d95324a68b"></a><!-- doxytag: member="test.h::test_assert" ref="ga835cb17ca3869922b49435d95324a68b" args="(point, condition, msg)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define test_assert</td>
<td>(</td>
<td class="paramtype">&nbsp;</td>
<td class="paramname">point, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&nbsp;</td>
<td class="paramname">condition, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&nbsp;</td>
<td class="paramname">msg</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">{ \
<span class="keywordflow">if</span> (_test_assert(point, condition)) \
<span class="keywordflow">return</span>; \
}
</pre></div>
<p>Test assertion. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>point</em>&nbsp;</td><td>numeric assertion identifier </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>condition</em>&nbsp;</td><td>a boolean expression that must be verified to be true </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>msg</em>&nbsp;</td><td>failure message </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="test_8h_source.html#l00130">130</a> of file <a class="el" href="test_8h_source.html">test.h</a>.</p>
</div>
</div>
<a class="anchor" id="ga876d47c016ac2d69d6611274252bdaf9"></a><!-- doxytag: member="test.h::test_assert_sequence" ref="ga876d47c016ac2d69d6611274252bdaf9" args="(point, expected)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define test_assert_sequence</td>
<td>(</td>
<td class="paramtype">&nbsp;</td>
<td class="paramname">point, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&nbsp;</td>
<td class="paramname">expected</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">{ \
<span class="keywordflow">if</span> (_test_assert_sequence(point, expected)) \
<span class="keywordflow">return</span>; \
}
</pre></div>
<p>Test sequence assertion. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>point</em>&nbsp;</td><td>numeric assertion identifier </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>expected</em>&nbsp;</td><td>string to be matched with the tokens buffer </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="test_8h_source.html#l00141">141</a> of file <a class="el" href="test_8h_source.html">test.h</a>.</p>
</div>
</div>
<a class="anchor" id="gabb18a77859d6fc0972a35d88f11a90e1"></a><!-- doxytag: member="test.h::test_assert_time_window" ref="gabb18a77859d6fc0972a35d88f11a90e1" args="(point, start, end)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define test_assert_time_window</td>
<td>(</td>
<td class="paramtype">&nbsp;</td>
<td class="paramname">point, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&nbsp;</td>
<td class="paramname">start, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&nbsp;</td>
<td class="paramname">end</td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Value:</b><div class="fragment"><pre class="fragment">{ \
<span class="keywordflow">if</span> (_test_assert_time_window(point, start, end)) \
<span class="keywordflow">return</span>; \
}
</pre></div>
<p>Test time window assertion. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>point</em>&nbsp;</td><td>numeric assertion identifier </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>start</em>&nbsp;</td><td>initial time in the window (included) </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>end</em>&nbsp;</td><td>final time in the window (not included) </td></tr>
</table>
</dd>
</dl>
<p>Definition at line <a class="el" href="test_8h_source.html#l00153">153</a> of file <a class="el" href="test_8h_source.html">test.h</a>.</p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga5551ca9506fe131cae2e4036c512cc98"></a><!-- doxytag: member="test.c::test_printn" ref="ga5551ca9506fe131cae2e4036c512cc98" args="(uint32_t n)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void test_printn </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group___s_t_m8___c_o_r_e.html#ga06896e8c53f721507066c079052171f8">uint32_t</a>&nbsp;</td>
<td class="paramname"> <em>n</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Prints a decimal unsigned number. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>n</em>&nbsp;</td><td>the number to be printed </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga65f8ec6aa3d624a48d498f04efa2dce8"></a><!-- doxytag: member="test.c::test_print" ref="ga65f8ec6aa3d624a48d498f04efa2dce8" args="(char *msgp)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void test_print </td>
<td>(</td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>msgp</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Prints a line without final end-of-line. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>msgp</em>&nbsp;</td><td>the message </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf5e5d95b5ea7bd33f91ca52ee8088f4e"></a><!-- doxytag: member="test.c::test_println" ref="gaf5e5d95b5ea7bd33f91ca52ee8088f4e" args="(char *msgp)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void test_println </td>
<td>(</td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>msgp</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Prints a line. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>msgp</em>&nbsp;</td><td>the message </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab3d9527d7616b3f9f8cba60cda0211a8"></a><!-- doxytag: member="test.c::test_emit_token" ref="gab3d9527d7616b3f9f8cba60cda0211a8" args="(char token)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void test_emit_token </td>
<td>(</td>
<td class="paramtype">char&nbsp;</td>
<td class="paramname"> <em>token</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Emits a token into the tokens buffer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>token</em>&nbsp;</td><td>the token as a char </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9415896a22ab615391028ec0852bc678"></a><!-- doxytag: member="test.c::test_terminate_threads" ref="ga9415896a22ab615391028ec0852bc678" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void test_terminate_threads </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Pends a termination request in all the test-spawned threads. </p>
</div>
</div>
<a class="anchor" id="ga361d9d2685d79754206ae8af370a303c"></a><!-- doxytag: member="test.c::test_wait_threads" ref="ga361d9d2685d79754206ae8af370a303c" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void test_wait_threads </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Waits for the completion of all the test-spawned threads. </p>
</div>
</div>
<a class="anchor" id="ga92f3d7b7f63683ca0e873dd19eb450b0"></a><!-- doxytag: member="test.c::test_cpu_pulse" ref="ga92f3d7b7f63683ca0e873dd19eb450b0" args="(unsigned duration)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void test_cpu_pulse </td>
<td>(</td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>duration</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>CPU pulse. </p>
<dl class="note"><dt><b>Note:</b></dt><dd>The current implementation is not totally reliable.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>duration</em>&nbsp;</td><td>CPU pulse duration in milliseconds </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac067dd7ee03b2c56d4d26ce9815ed3f7"></a><!-- doxytag: member="test.c::test_wait_tick" ref="gac067dd7ee03b2c56d4d26ce9815ed3f7" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__types.html#gae3e32a98d431a02106616da3071832dd">systime_t</a> test_wait_tick </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Delays execution until next system time tick. </p>
</div>
</div>
<a class="anchor" id="gad4ce516117b9a9c8cd884c192c8f9bb1"></a><!-- doxytag: member="test.c::test_start_timer" ref="gad4ce516117b9a9c8cd884c192c8f9bb1" args="(unsigned ms)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void test_start_timer </td>
<td>(</td>
<td class="paramtype">unsigned&nbsp;</td>
<td class="paramname"> <em>ms</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Starts the test timer. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>ms</em>&nbsp;</td><td>time in milliseconds </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga6b0a5b39f57674777d7b044e1a15603a"></a><!-- doxytag: member="test.c::TestThread" ref="ga6b0a5b39f57674777d7b044e1a15603a" args="(void *p)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__types.html#ga35bcb0c321cd7bc45bf1a11fa17ebdd3">msg_t</a> TestThread </td>
<td>(</td>
<td class="paramtype">void *&nbsp;</td>
<td class="paramname"> <em>p</em></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Test execution thread function. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>p</em>&nbsp;</td><td>pointer to a <code><a class="el" href="struct_base_channel.html" title="Base channel class.">BaseChannel</a></code> object for test output </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="gad74c89f8a5049c1055b6a0f0596424b0"></a><!-- doxytag: member="test.c::test_timer_done" ref="gad74c89f8a5049c1055b6a0f0596424b0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__types.html#ga7556af1cb61728b53228fa3af1c851de">bool_t</a> <a class="el" href="group__test.html#gad74c89f8a5049c1055b6a0f0596424b0">test_timer_done</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Set to <code>TRUE</code> when the test timer reaches its deadline. </p>
<p>Definition at line <a class="el" href="test_8c_source.html#l00265">265</a> of file <a class="el" href="test_8c_source.html">test.c</a>.</p>
</div>
</div>
</div>
<hr size="1"><address style="text-align: right;"><small>
Generated on Sun Oct 24 2010 09:40:48 for ChibiOS/RT by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.7.1</small></address>
</body>
</html>