1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>BOOST_<level></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="decorator_tolerance.html" title="tolerance (decorator)"> 10<link rel="next" href="assertion_boost_level_bitwise_eq.html" title="BOOST_<level>_BITWISE_EQUAL"> 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="decorator_tolerance.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_boost_level_bitwise_eq.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_level"></a><a name="ref_BOOST_level"></a><a class="link" href="assertion_boost_level.html" title="BOOST_<level>"><code class="computeroutput"><span class="identifier">BOOST_</span><span class="special"><</span><span class="identifier">level</span><span class="special">></span></code></a> 28</h4></div></div></div> 29<pre class="programlisting"><span class="identifier">BOOST_WARN</span><span class="special">(</span><span class="identifier">predicate</span><span class="special">);</span> 30<span class="identifier">BOOST_CHECK</span><span class="special">(</span><span class="identifier">predicate</span><span class="special">);</span> 31<span class="identifier">BOOST_REQUIRE</span><span class="special">(</span><span class="identifier">predicate</span><span class="special">);</span> 32</pre> 33<p> 34 These tools are used to validate the predicate value. The only parameter 35 for these tools is a boolean predicate value that gets validated. It could 36 be any expression that could be evaluated and converted to boolean value. 37 The expression gets evaluated only once, so it's safe to pass complex expression 38 for validation. 39 </p> 40<h6> 41<a name="boost_test.utf_reference.testing_tool_ref.assertion_boost_level.h0"></a> 42 <span class="phrase"><a name="boost_test.utf_reference.testing_tool_ref.assertion_boost_level.example_descr"></a></span><a class="link" href="assertion_boost_level.html#boost_test.utf_reference.testing_tool_ref.assertion_boost_level.example_descr">Example: 43 BOOST_<level> usage</a> 44 </h6> 45<div class="informaltable"><table class="table"> 46<colgroup><col></colgroup> 47<thead><tr><th> 48 <p> 49 Code 50 </p> 51 </th></tr></thead> 52<tbody><tr><td> 53<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> 54<span class="preprocessor">#include</span> <span class="special"><</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">></span> 55 56<span class="identifier">BOOST_AUTO_TEST_CASE</span><span class="special">(</span> <span class="identifier">test</span> <span class="special">)</span> 57<span class="special">{</span> 58 <span class="keyword">int</span> <span class="identifier">i</span><span class="special">=</span><span class="number">2</span><span class="special">;</span> 59 <span class="identifier">BOOST_WARN</span><span class="special">(</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="keyword">short</span><span class="special">)</span> <span class="special">);</span> 60 <span class="identifier">BOOST_CHECK</span><span class="special">(</span> <span class="identifier">i</span> <span class="special">==</span> <span class="number">1</span> <span class="special">);</span> 61 <span class="identifier">BOOST_REQUIRE</span><span class="special">(</span> <span class="identifier">i</span> <span class="special">></span> <span class="number">5</span> <span class="special">);</span> 62 <span class="identifier">BOOST_CHECK</span><span class="special">(</span> <span class="identifier">i</span> <span class="special">==</span> <span class="number">6</span> <span class="special">);</span> <span class="comment">// will never reach this check</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">></span> <span class="identifier">example</span> <span class="special">--</span><span class="identifier">log_level</span><span class="special">=</span><span class="identifier">warning</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">9</span><span class="special">):</span> <span class="identifier">warning</span> <span class="identifier">in</span> <span class="string">"test"</span><span class="special">:</span> <span class="identifier">condition</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="keyword">int</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">sizeof</span><span class="special">(</span><span class="keyword">short</span><span class="special">)</span> <span class="identifier">is</span> <span class="keyword">not</span> <span class="identifier">satisfied</span> 78<span class="identifier">test</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">(</span><span class="number">10</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="identifier">i</span> <span class="special">==</span> <span class="number">1</span> <span class="identifier">has</span> <span class="identifier">failed</span> 79<span class="identifier">test</span><span class="special">.</span><span class="identifier">cpp</span><span class="special">(</span><span class="number">11</span><span class="special">):</span> <span class="identifier">fatal</span> <span class="identifier">error</span> <span class="identifier">in</span> <span class="string">"test"</span><span class="special">:</span> <span class="identifier">critical</span> <span class="identifier">check</span> <span class="identifier">i</span> <span class="special">></span> <span class="number">5</span> <span class="identifier">has</span> <span class="identifier">failed</span> 80 81<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> 82</pre> 83 </td></tr></tbody> 84</table></div> 85<p> 86 See also: 87 </p> 88<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"> 89 <a class="link" href="assertion_boost_level_message.html" title="BOOST_<level>_MESSAGE"><code class="computeroutput"><span class="identifier">BOOST_</span><span class="special"><</span><span class="identifier">level</span><span class="special">></span><span class="identifier">_MESSAGE</span></code></a> 90 </li></ul></div> 91</div> 92<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 93<td align="left"></td> 94<td align="right"><div class="copyright-footer">Copyright © 2001-2020 Boost.Test 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="decorator_tolerance.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_boost_level_bitwise_eq.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a> 103</div> 104</body> 105</html> 106