glib-testing.html

来自「最新gtk中文资料集」· HTML 代码 · 共 1,300 行 · 第 1/4 页

HTML
1,300
字号
<td><p><span class="term"><em class="parameter"><code>gfree_pointer</code></em>&#160;:</span></p></td><td> the pointer to be stored.</td></tr></tbody></table></div><p class="since">Since  2.16</p></div><hr><div class="refsect2" lang="en"><a name="id3219374"></a><h3><a name="g-test-queue-destroy"></a>g_test_queue_destroy ()</h3><a class="indexterm" name="id3219390"></a><pre class="programlisting">void                g_test_queue_destroy                (<a class="link" href="glib-Datasets.html#GDestroyNotify">GDestroyNotify</a> destroy_func,                                                         <a class="link" href="glib-Basic-Types.html#gpointer">gpointer</a> destroy_data);</pre><p>This function enqueus a callback @<code class="function">destroy_func()</code> to be executedduring the next test case teardown phase. This is most usefulto auto destruct allocted test resources at the end of a test run.Resources are released in reverse queue order, that means enqueueingcallback A before callback B will cause <code class="function">B()</code> to be called before<code class="function">A()</code> during teardown.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>destroy_func</code></em>&#160;:</span></p></td><td>       Destroy callback for teardown phase.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>destroy_data</code></em>&#160;:</span></p></td><td>       Destroy callback data.</td></tr></tbody></table></div><p class="since">Since  2.16</p></div><hr><div class="refsect2" lang="en"><a name="id3219509"></a><h3><a name="g-test-queue-unref"></a>g_test_queue_unref()</h3><a class="indexterm" name="id3219522"></a><pre class="programlisting">#define             g_test_queue_unref(gobject)</pre><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>gobject</code></em>&#160;:</span></p></td><td></td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3219555"></a><h3><a name="GTestTrapFlags"></a>enum GTestTrapFlags</h3><a class="indexterm" name="id3219568"></a><pre class="programlisting">typedef enum {  G_TEST_TRAP_SILENCE_STDOUT    = 1 &lt;&lt; 7,  G_TEST_TRAP_SILENCE_STDERR    = 1 &lt;&lt; 8,  G_TEST_TRAP_INHERIT_STDIN     = 1 &lt;&lt; 9} GTestTrapFlags;</pre><p></p></div><hr><div class="refsect2" lang="en"><a name="id3219588"></a><h3><a name="g-test-trap-fork"></a>g_test_trap_fork ()</h3><a class="indexterm" name="id3219603"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a>            g_test_trap_fork                    (<a class="link" href="glib-Basic-Types.html#guint64">guint64</a> usec_timeout,                                                         <a class="link" href="glib-Testing.html#GTestTrapFlags">GTestTrapFlags</a> test_trap_flags);</pre><p>Fork the current test program to execute a test case that mightnot return or that might abort. The forked test case is abortedand considered failing if its run time exceeds <em class="parameter"><code>usec_timeout</code></em>.The forking behavior can be configured with the following flags:<code class="literal">G_TEST_TRAP_SILENCE_STDOUT</code> - redirect stdout of the test childto /dev/null so it cannot be observed on the console during testruns. The actual output is still captured though to allow latertests with <a class="link" href="glib-Testing.html#g-test-trap-assert-stdout"><code class="function">g_test_trap_assert_stdout()</code></a>.<code class="literal">G_TEST_TRAP_SILENCE_STDERR</code> - redirect stderr of the test childto /dev/null so it cannot be observed on the console during testruns. The actual output is still captured though to allow latertests with <a class="link" href="glib-Testing.html#g-test-trap-assert-stderr"><code class="function">g_test_trap_assert_stderr()</code></a>.<code class="literal">G_TEST_TRAP_INHERIT_STDIN</code> - if this flag is given, stdin of theforked child process is shared with stdin of its parent process.It is redirected to /dev/null otherwise.</p><p>In the following example, the test code forks, the forked childprocess produces some sample output and exits successfully.The forking parent process then asserts successfull child programtermination and validates cihld program outputs.</p><p></p><div class="informalexample"><pre class="programlisting">  static void  test_fork_patterns (void)  {    if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR))      {        g_print ("some stdout text: somagic17\n");        g_printerr ("some stderr text: semagic43\n");        exit (0); /* successful test run */      }    g_test_trap_assert_passed();    g_test_trap_assert_stdout ("*somagic17*");    g_test_trap_assert_stderr ("*semagic43*");  }</pre></div><p></p><p>This function is implemented only on Unix platforms.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>usec_timeout</code></em>&#160;:</span></p></td><td>    Timeout for the forked test in micro seconds.</td></tr><tr><td><p><span class="term"><em class="parameter"><code>test_trap_flags</code></em>&#160;:</span></p></td><td> Flags to modify forking behaviour.</td></tr><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td><td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> for the forked child and <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> for the executing parent process.</td></tr></tbody></table></div><p class="since">Since  2.16</p></div><hr><div class="refsect2" lang="en"><a name="id3219822"></a><h3><a name="g-test-trap-has-passed"></a>g_test_trap_has_passed ()</h3><a class="indexterm" name="id3219837"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a>            g_test_trap_has_passed              (void);</pre><p>Check the reuslt of the last <a class="link" href="glib-Testing.html#g-test-trap-fork"><code class="function">g_test_trap_fork()</code></a> call.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td><td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the last forked child terminated successfully.</td></tr></tbody></table></div><p class="since">Since  2.16</p></div><hr><div class="refsect2" lang="en"><a name="id3219905"></a><h3><a name="g-test-trap-reached-timeout"></a>g_test_trap_reached_timeout ()</h3><a class="indexterm" name="id3219921"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean">gboolean</a>            g_test_trap_reached_timeout         (void);</pre><p>Check the reuslt of the last <a class="link" href="glib-Testing.html#g-test-trap-fork"><code class="function">g_test_trap_fork()</code></a> call.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td><td> <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the last forked child got killed due to a fork timeout.</td></tr></tbody></table></div><p class="since">Since  2.16</p></div><hr><div class="refsect2" lang="en"><a name="id3219989"></a><h3><a name="g-test-trap-assert-passed"></a>g_test_trap_assert_passed()</h3><a class="indexterm" name="id3220002"></a><pre class="programlisting">#define             g_test_trap_assert_passed()</pre><p></p></div><hr><div class="refsect2" lang="en"><a name="id3220018"></a><h3><a name="g-test-trap-assert-failed"></a>g_test_trap_assert_failed()</h3><a class="indexterm" name="id3220031"></a><pre class="programlisting">#define             g_test_trap_assert_failed()</pre><p></p></div><hr><div class="refsect2" lang="en"><a name="id3220046"></a><h3><a name="g-test-trap-assert-stdout"></a>g_test_trap_assert_stdout()</h3><a class="indexterm" name="id3220060"></a><pre class="programlisting">#define             g_test_trap_assert_stdout(soutpattern)</pre><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>soutpattern</code></em>&#160;:</span></p></td><td></td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3220093"></a><h3><a name="g-test-trap-assert-stdout-unmatched"></a>g_test_trap_assert_stdout_unmatched()</h3><a class="indexterm" name="id3220108"></a><pre class="programlisting">#define             g_test_trap_assert_stdout_unmatched(soutpattern)</pre><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>soutpattern</code></em>&#160;:</span></p></td><td></td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3220141"></a><h3><a name="g-test-trap-assert-stderr"></a>g_test_trap_assert_stderr()</h3><a class="indexterm" name="id3220155"></a><pre class="programlisting">#define             g_test_trap_assert_stderr(serrpattern)</pre><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>serrpattern</code></em>&#160;:</span></p></td><td></td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3220188"></a><h3><a name="g-test-trap-assert-stderr-unmatched"></a>g_test_trap_assert_stderr_unmatched()</h3><a class="indexterm" name="id3220202"></a><pre class="programlisting">#define             g_test_trap_assert_stderr_unmatched(serrpattern)</pre><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><em class="parameter"><code>serrpattern</code></em>&#160;:</span></p></td><td></td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id3220236"></a><h3><a name="g-test-rand-bit"></a>g_test_rand_bit()</h3><a class="indexterm" name="id3220249"></a><pre class="programlisting">#define             g_test_rand_bit()</pre><p></p></div><hr><div class="refsect2" lang="en"><a name="id3220264"></a><h3><a name="g-test-rand-int"></a>g_test_rand_int ()</h3><a class="indexterm" name="id3220280"></a><pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint32">gint32</a>              g_test_rand_int                     (void);</pre><p>Get a reproducable random integer number.The random numbers generate by the g_test_rand_*() family of functionschange with every new test program start, unless the --seed option isgiven when starting test programs.For individual test cases however, the random number generator isreseeded, to avoid dependencies between tests and to make --seedeffective for all test cases.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><p><span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></p></td><td> a random number from the seeded random number generator.</td></tr></tbody></table></div><p class="since">Since  2.16

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?