Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / test / doc / html / boost_test / utf_reference / testing_tool_ref / assertion_boost_is_defined.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>BOOST_IS_DEFINED</title>
5 <link rel="stylesheet" href="../../../boostbook.css" type="text/css">
6 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
7 <link rel="home" href="../../../index.html" title="Boost.Test">
8 <link rel="up" href="../testing_tool_ref.html" title="Reference API for writing tests">
9 <link rel="prev" href="assertion_boost_fail.html" title="BOOST_FAIL">
10 <link rel="next" href="assertion_control_under_debugger.html" title="BOOST_TEST_TOOLS_UNDER_DEBUGGER">
11 </head>
12 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
13 <table cellpadding="2" width="100%"><tr>
14 <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
15 <td align="center"><a href="../../../../../../../index.html">Home</a></td>
16 <td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
17 <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
18 <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
19 <td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
20 </tr></table>
21 <hr>
22 <div class="spirit-nav">
23 <a accesskey="p" href="assertion_boost_fail.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../testing_tool_ref.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assertion_control_under_debugger.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
24 </div>
25 <div class="section">
26 <div class="titlepage"><div><div><h4 class="title">
27 <a name="boost_test.utf_reference.testing_tool_ref.assertion_boost_is_defined"></a><a class="link" href="assertion_boost_is_defined.html" title="BOOST_IS_DEFINED"><code class="computeroutput"><span class="identifier">BOOST_IS_DEFINED</span></code></a>
28 </h4></div></div></div>
29 <pre class="programlisting"><span class="identifier">BOOST_IS_DEFINED</span><span class="special">(</span><span class="identifier">symbol</span><span class="special">);</span>
30 </pre>
31 <p>
32           Unlike the rest of the tools in the toolbox this tool does not perform
33           the logging itself. Its only purpose is to check at runtime whether or
34           not the supplied preprocessor symbol is defined. Use it in combination
35           with <a class="link" href="assertion_boost_level.html" title="BOOST_&lt;level&gt;"><code class="computeroutput"><span class="identifier">BOOST_</span><span class="special">&lt;</span><span class="identifier">level</span><span class="special">&gt;</span></code></a>
36           to perform and log validation. Macros of any arity could be checked. To
37           check the macro definition with non-zero arity specify dummy arguments
38           for it. See below for example.
39         </p>
40 <p>
41           The only tool's parameter is a preprocessor symbol that gets validated.
42         </p>
43 <h6>
44 <a name="boost_test.utf_reference.testing_tool_ref.assertion_boost_is_defined.h0"></a>
45           <span class="phrase"><a name="boost_test.utf_reference.testing_tool_ref.assertion_boost_is_defined.example_descr"></a></span><a class="link" href="assertion_boost_is_defined.html#boost_test.utf_reference.testing_tool_ref.assertion_boost_is_defined.example_descr">Example:
46           BOOST_IS_DEFINED usage</a>
47         </h6>
48 <div class="informaltable"><table class="table">
49 <colgroup><col></colgroup>
50 <thead><tr><th>
51                   <p>
52                     Code
53                   </p>
54                 </th></tr></thead>
55 <tbody><tr><td>
56 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="preprocessor">#define</span> <span class="identifier">BOOST_TEST_MODULE</span> <span class="identifier">example</span>
57 <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">test</span><span class="special">/</span><span class="identifier">included</span><span class="special">/</span><span class="identifier">unit_test</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
58
59 <span class="identifier">BOOST_AUTO_TEST_CASE</span><span class="special">(</span> <span class="identifier">test</span> <span class="special">)</span>
60 <span class="special">{</span>
61   <span class="identifier">BOOST_TEST</span><span class="special">(</span> <span class="identifier">BOOST_IS_DEFINED</span><span class="special">(</span><span class="identifier">SYMBOL1</span><span class="special">)</span> <span class="special">);</span>
62   <span class="identifier">BOOST_TEST</span><span class="special">(</span> <span class="identifier">BOOST_IS_DEFINED</span><span class="special">(</span><span class="identifier">SYMBOL2</span><span class="special">(</span><span class="identifier">arg</span><span class="special">))</span> <span class="special">);</span>
63 <span class="special">}</span>
64 </pre>
65                 </td></tr></tbody>
66 </table></div>
67 <div class="informaltable"><table class="table">
68 <colgroup><col></colgroup>
69 <thead><tr><th>
70                   <p>
71                     Output
72                   </p>
73                 </th></tr></thead>
74 <tbody><tr><td>
75 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="special">&gt;</span> <span class="identifier">example</span>
76 <span class="identifier">Running</span> <span class="number">1</span> <span class="identifier">test</span> <span class="keyword">case</span><span class="special">...</span>
77 <span class="identifier">test</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">(</span><span class="number">8</span><span class="special">):</span> <span class="identifier">error</span> <span class="identifier">in</span> <span class="string">"test"</span><span class="special">:</span> <span class="identifier">check</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">test_tools</span><span class="special">::</span><span class="identifier">tt_detail</span><span class="special">::</span><span class="identifier">is_defined_impl</span><span class="special">(</span> <span class="string">"SYMBOL1"</span><span class="special">,</span> <span class="string">"= SYMBOL1"</span> <span class="special">)</span> <span class="identifier">failed</span>
78 <span class="identifier">test</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">(</span><span class="number">9</span><span class="special">):</span> <span class="identifier">error</span> <span class="identifier">in</span> <span class="string">"test"</span><span class="special">:</span> <span class="identifier">check</span> <span class="special">::</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">test_tools</span><span class="special">::</span><span class="identifier">tt_detail</span><span class="special">::</span><span class="identifier">is_defined_impl</span><span class="special">(</span> <span class="string">"SYMBOL2(arg)"</span><span class="special">,</span> <span class="string">"= SYMBOL2(arg)"</span> <span class="special">)</span> <span class="identifier">failed</span>
79
80 <span class="special">***</span> <span class="number">2</span> <span class="identifier">failures</span> <span class="identifier">are</span> <span class="identifier">detected</span> <span class="identifier">in</span> <span class="identifier">test</span> <span class="identifier">suite</span> <span class="string">"example"</span>
81 </pre>
82                 </td></tr></tbody>
83 </table></div>
84 <p>
85           See also:
86         </p>
87 <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
88               <a class="link" href="assertion_boost_level.html" title="BOOST_&lt;level&gt;"><code class="computeroutput"><span class="identifier">BOOST_</span><span class="special">&lt;</span><span class="identifier">level</span><span class="special">&gt;</span></code></a>
89             </li></ul></div>
90 </div>
91 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
92 <td align="left"></td>
93 <td align="right"><div class="copyright-footer">Copyright &#169; 2001-2019 Boost.Test
94       contributors<p>
95         Distributed under the Boost Software License, Version 1.0. (See accompanying
96         file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
97       </p>
98 </div></td>
99 </tr></table>
100 <hr>
101 <div class="spirit-nav">
102 <a accesskey="p" href="assertion_boost_fail.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../testing_tool_ref.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="assertion_control_under_debugger.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
103 </div>
104 </body>
105 </html>