<!-- Copyright (c) 2020 ARM Limited. -->
<!--                                 -->
<!-- SPDX-License-Identifier: MIT    -->
<!--                                 -->
<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ArmNN: src/armnn/test/UnitTests.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 10rem; margin-top: .5rem; margin-left 10px"/>
  <td style="padding-left: 0.5em;">
   <div id="projectname">
   &#160;<span id="projectnumber">20.02</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_unit_tests_8hpp.xhtml','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">UnitTests.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="_logging_8hpp_source.xhtml">armnn/Logging.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_utils_8hpp_source.xhtml">armnn/Utils.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_ref_workload_factory_8hpp_source.xhtml">reference/RefWorkloadFactory.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_layer_tests_8hpp_source.xhtml">backendsCommon/test/LayerTests.hpp</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="_workload_factory_helper_8hpp_source.xhtml">backendsCommon/test/WorkloadFactoryHelper.hpp</a>&gt;</code><br />
<code>#include &quot;<a class="el" href="_tensor_helpers_8hpp_source.xhtml">TensorHelpers.hpp</a>&quot;</code><br />
<code>#include &lt;boost/test/unit_test.hpp&gt;</code><br />
</div>
<p><a href="_unit_tests_8hpp_source.xhtml">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a44ea827d997f1aa0e39d9a6d6675465c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.xhtml#a44ea827d997f1aa0e39d9a6d6675465c">ARMNN_SIMPLE_TEST_CASE</a>(TestName,  TestFunction)</td></tr>
<tr class="separator:a44ea827d997f1aa0e39d9a6d6675465c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6ce9102495fab6e3957f61281238e3d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.xhtml#ae6ce9102495fab6e3957f61281238e3d">ARMNN_AUTO_TEST_CASE</a>(TestName,  TestFunction, ...)</td></tr>
<tr class="separator:ae6ce9102495fab6e3957f61281238e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07e04849fc0700facf91fecce71ff733"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.xhtml#a07e04849fc0700facf91fecce71ff733">ARMNN_COMPARE_REF_AUTO_TEST_CASE</a>(TestName,  TestFunction, ...)</td></tr>
<tr class="separator:a07e04849fc0700facf91fecce71ff733"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2016edd458865d471fe1afc82b3c126"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.xhtml#af2016edd458865d471fe1afc82b3c126">ARMNN_COMPARE_REF_FIXTURE_TEST_CASE</a>(TestName,  Fixture,  TestFunction, ...)</td></tr>
<tr class="separator:af2016edd458865d471fe1afc82b3c126"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:af9e4dd62da9266a1364032ada0267f9b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.xhtml#af9e4dd62da9266a1364032ada0267f9b">ConfigureLoggingTest</a> ()</td></tr>
<tr class="separator:af9e4dd62da9266a1364032ada0267f9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbe506e0365feeed352effe52b1e4852"><td class="memTemplParams" colspan="2">template&lt;typename T , std::size_t n&gt; </td></tr>
<tr class="memitem:acbe506e0365feeed352effe52b1e4852"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.xhtml#acbe506e0365feeed352effe52b1e4852">CompareTestResultIfSupported</a> (const std::string &amp;testName, const <a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, n &gt; &amp;testResult)</td></tr>
<tr class="memdesc:acbe506e0365feeed352effe52b1e4852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes BOOST_TEST on <a class="el" href="_tensor_helpers_8hpp.xhtml#a0b8fbb443d2cf34a41f6aaae934e3dcb">CompareTensors()</a> return value so that the predicate_result message is reported.  <a href="#acbe506e0365feeed352effe52b1e4852">More...</a><br /></td></tr>
<tr class="separator:acbe506e0365feeed352effe52b1e4852"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d26216e495ef45a749c03e6c6edcd38"><td class="memTemplParams" colspan="2">template&lt;typename T , std::size_t n&gt; </td></tr>
<tr class="memitem:a8d26216e495ef45a749c03e6c6edcd38"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.xhtml#a8d26216e495ef45a749c03e6c6edcd38">CompareTestResultIfSupported</a> (const std::string &amp;testName, const std::vector&lt; <a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, n &gt;&gt; &amp;testResult)</td></tr>
<tr class="separator:a8d26216e495ef45a749c03e6c6edcd38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10075eca890bd829a87b914c5aa18cb3"><td class="memTemplParams" colspan="2">template&lt;typename FactoryType , typename TFuncPtr , typename... Args&gt; </td></tr>
<tr class="memitem:a10075eca890bd829a87b914c5aa18cb3"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.xhtml#a10075eca890bd829a87b914c5aa18cb3">RunTestFunction</a> (const char *testName, TFuncPtr testFunction, Args... args)</td></tr>
<tr class="separator:a10075eca890bd829a87b914c5aa18cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d8f71b48349370e1d5c0a9b39e3d162"><td class="memTemplParams" colspan="2">template&lt;typename FactoryType , typename TFuncPtr , typename... Args&gt; </td></tr>
<tr class="memitem:a2d8f71b48349370e1d5c0a9b39e3d162"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.xhtml#a2d8f71b48349370e1d5c0a9b39e3d162">CompareRefTestFunction</a> (const char *testName, TFuncPtr testFunction, Args... args)</td></tr>
<tr class="separator:a2d8f71b48349370e1d5c0a9b39e3d162"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ae6ce9102495fab6e3957f61281238e3d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6ce9102495fab6e3957f61281238e3d">&#9670;&nbsp;</a></span>ARMNN_AUTO_TEST_CASE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ARMNN_AUTO_TEST_CASE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TestName, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TestFunction, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="namespacearmnn.xhtml#a10d15f3df1ab52b3b915a4be1dbf386b">BOOST_AUTO_TEST_CASE</a>(TestName) \</div><div class="line">    { \</div><div class="line">        RunTestFunction&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div><div class="line">    }</div><div class="ttc" id="namespacearmnn_xhtml_a10d15f3df1ab52b3b915a4be1dbf386b"><div class="ttname"><a href="namespacearmnn.xhtml#a10d15f3df1ab52b3b915a4be1dbf386b">armnn::BOOST_AUTO_TEST_CASE</a></div><div class="ttdeci">BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)</div><div class="ttdef"><b>Definition:</b> <a href="_const_tensor_layer_visitor_8cpp_source.xhtml#l00170">ConstTensorLayerVisitor.cpp:170</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.xhtml#l00081">81</a> of file <a class="el" href="_unit_tests_8hpp_source.xhtml">UnitTests.hpp</a>.</p>

</div>
</div>
<a id="a07e04849fc0700facf91fecce71ff733"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07e04849fc0700facf91fecce71ff733">&#9670;&nbsp;</a></span>ARMNN_COMPARE_REF_AUTO_TEST_CASE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ARMNN_COMPARE_REF_AUTO_TEST_CASE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TestName, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TestFunction, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="namespacearmnn.xhtml#a10d15f3df1ab52b3b915a4be1dbf386b">BOOST_AUTO_TEST_CASE</a>(TestName) \</div><div class="line">    { \</div><div class="line">        CompareRefTestFunction&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div><div class="line">    }</div><div class="ttc" id="namespacearmnn_xhtml_a10d15f3df1ab52b3b915a4be1dbf386b"><div class="ttname"><a href="namespacearmnn.xhtml#a10d15f3df1ab52b3b915a4be1dbf386b">armnn::BOOST_AUTO_TEST_CASE</a></div><div class="ttdeci">BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)</div><div class="ttdef"><b>Definition:</b> <a href="_const_tensor_layer_visitor_8cpp_source.xhtml#l00170">ConstTensorLayerVisitor.cpp:170</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.xhtml#l00099">99</a> of file <a class="el" href="_unit_tests_8hpp_source.xhtml">UnitTests.hpp</a>.</p>

</div>
</div>
<a id="af2016edd458865d471fe1afc82b3c126"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2016edd458865d471fe1afc82b3c126">&#9670;&nbsp;</a></span>ARMNN_COMPARE_REF_FIXTURE_TEST_CASE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ARMNN_COMPARE_REF_FIXTURE_TEST_CASE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TestName, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">Fixture, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TestFunction, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="_csv_reader_test_8cpp.xhtml#af91dc34fdeee4dc67fba22b2bfbfcd7f">BOOST_FIXTURE_TEST_CASE</a>(TestName, Fixture) \</div><div class="line">    { \</div><div class="line">        CompareRefTestFunction&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div><div class="line">    }</div><div class="ttc" id="_csv_reader_test_8cpp_xhtml_af91dc34fdeee4dc67fba22b2bfbfcd7f"><div class="ttname"><a href="_csv_reader_test_8cpp.xhtml#af91dc34fdeee4dc67fba22b2bfbfcd7f">BOOST_FIXTURE_TEST_CASE</a></div><div class="ttdeci">BOOST_FIXTURE_TEST_CASE(TestParseVector, TestHelper)</div><div class="ttdef"><b>Definition:</b> <a href="_csv_reader_test_8cpp_source.xhtml#l00083">CsvReaderTest.cpp:83</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.xhtml#l00105">105</a> of file <a class="el" href="_unit_tests_8hpp_source.xhtml">UnitTests.hpp</a>.</p>

</div>
</div>
<a id="a44ea827d997f1aa0e39d9a6d6675465c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44ea827d997f1aa0e39d9a6d6675465c">&#9670;&nbsp;</a></span>ARMNN_SIMPLE_TEST_CASE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ARMNN_SIMPLE_TEST_CASE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TestName, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">TestFunction&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><a class="code" href="namespacearmnn.xhtml#a10d15f3df1ab52b3b915a4be1dbf386b">BOOST_AUTO_TEST_CASE</a>(TestName) \</div><div class="line">    { \</div><div class="line">        TestFunction(); \</div><div class="line">    }</div><div class="ttc" id="namespacearmnn_xhtml_a10d15f3df1ab52b3b915a4be1dbf386b"><div class="ttname"><a href="namespacearmnn.xhtml#a10d15f3df1ab52b3b915a4be1dbf386b">armnn::BOOST_AUTO_TEST_CASE</a></div><div class="ttdeci">BOOST_AUTO_TEST_CASE(CheckConvolution2dLayer)</div><div class="ttdef"><b>Definition:</b> <a href="_const_tensor_layer_visitor_8cpp_source.xhtml#l00170">ConstTensorLayerVisitor.cpp:170</a></div></div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.xhtml#l00075">75</a> of file <a class="el" href="_unit_tests_8hpp_source.xhtml">UnitTests.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a2d8f71b48349370e1d5c0a9b39e3d162"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d8f71b48349370e1d5c0a9b39e3d162">&#9670;&nbsp;</a></span>CompareRefTestFunction()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CompareRefTestFunction </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>testName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TFuncPtr&#160;</td>
          <td class="paramname"><em>testFunction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Args...&#160;</td>
          <td class="paramname"><em>args</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.xhtml#l00088">88</a> of file <a class="el" href="_unit_tests_8hpp_source.xhtml">UnitTests.hpp</a>.</p>

<p class="reference">References <a class="el" href="_unit_tests_8hpp_source.xhtml#l00036">CompareTestResultIfSupported()</a>.</p>
<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;{</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <span class="keyword">auto</span> memoryManager = WorkloadFactoryHelper&lt;FactoryType&gt;::GetMemoryManager();</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <a class="code" href="_cl_layer_tests_8cpp.xhtml#a255d08081b372809a176b588529296aa">FactoryType</a> workloadFactory = WorkloadFactoryHelper&lt;FactoryType&gt;::GetFactory(memoryManager);</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <a class="code" href="classarmnn_1_1_ref_workload_factory.xhtml">armnn::RefWorkloadFactory</a> refWorkloadFactory;</div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <span class="keyword">auto</span> testResult = (*testFunction)(workloadFactory, memoryManager, refWorkloadFactory, args...);</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <a class="code" href="_unit_tests_8hpp.xhtml#acbe506e0365feeed352effe52b1e4852">CompareTestResultIfSupported</a>(testName, testResult);</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;}</div><div class="ttc" id="_unit_tests_8hpp_xhtml_acbe506e0365feeed352effe52b1e4852"><div class="ttname"><a href="_unit_tests_8hpp.xhtml#acbe506e0365feeed352effe52b1e4852">CompareTestResultIfSupported</a></div><div class="ttdeci">void CompareTestResultIfSupported(const std::string &amp;testName, const LayerTestResult&lt; T, n &gt; &amp;testResult)</div><div class="ttdoc">Executes BOOST_TEST on CompareTensors() return value so that the predicate_result message is reported...</div><div class="ttdef"><b>Definition:</b> <a href="_unit_tests_8hpp_source.xhtml#l00036">UnitTests.hpp:36</a></div></div>
<div class="ttc" id="classarmnn_1_1_ref_workload_factory_xhtml"><div class="ttname"><a href="classarmnn_1_1_ref_workload_factory.xhtml">armnn::RefWorkloadFactory</a></div><div class="ttdef"><b>Definition:</b> <a href="_ref_workload_factory_8hpp_source.xhtml#l00030">RefWorkloadFactory.hpp:30</a></div></div>
<div class="ttc" id="_cl_layer_tests_8cpp_xhtml_a255d08081b372809a176b588529296aa"><div class="ttname"><a href="_cl_layer_tests_8cpp.xhtml#a255d08081b372809a176b588529296aa">FactoryType</a></div><div class="ttdeci">ClWorkloadFactory FactoryType</div><div class="ttdef"><b>Definition:</b> <a href="_cl_layer_tests_8cpp_source.xhtml#l00031">ClLayerTests.cpp:31</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="acbe506e0365feeed352effe52b1e4852"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbe506e0365feeed352effe52b1e4852">&#9670;&nbsp;</a></span>CompareTestResultIfSupported() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CompareTestResultIfSupported </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>testName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, n &gt; &amp;&#160;</td>
          <td class="paramname"><em>testResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Executes BOOST_TEST on <a class="el" href="_tensor_helpers_8hpp.xhtml#a0b8fbb443d2cf34a41f6aaae934e3dcb">CompareTensors()</a> return value so that the predicate_result message is reported. </p>
<p>If the test reports itself as not supported then the tensors are not compared. Additionally this checks that the supportedness reported by the test matches the name of the test. Unsupported tests must be 'tagged' by including "UNSUPPORTED" in their name. This is useful because it clarifies that the feature being tested is not actually supported (a passed test with the name of a feature would imply that feature was supported). If support is added for a feature, the test case will fail because the name incorrectly contains UNSUPPORTED. If support is removed for a feature, the test case will fail because the name doesn't contain UNSUPPORTED. </p>

<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.xhtml#l00036">36</a> of file <a class="el" href="_unit_tests_8hpp_source.xhtml">UnitTests.hpp</a>.</p>

<p class="reference">References <a class="el" href="_layer_test_result_8hpp_source.xhtml#l00043">LayerTestResult&lt; T, n &gt;::compareBoolean</a>, <a class="el" href="_tensor_helpers_8hpp_source.xhtml#l00075">CompareTensors()</a>, <a class="el" href="_layer_test_result_8hpp_source.xhtml#l00040">LayerTestResult&lt; T, n &gt;::output</a>, <a class="el" href="_layer_test_result_8hpp_source.xhtml#l00041">LayerTestResult&lt; T, n &gt;::outputExpected</a>, and <a class="el" href="_layer_test_result_8hpp_source.xhtml#l00042">LayerTestResult&lt; T, n &gt;::supported</a>.</p>

<p class="reference">Referenced by <a class="el" href="_unit_tests_8hpp_source.xhtml#l00088">CompareRefTestFunction()</a>, and <a class="el" href="_unit_tests_8hpp_source.xhtml#l00063">RunTestFunction()</a>.</p>
<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;{</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keywordtype">bool</span> testNameIndicatesUnsupported = testName.find(<span class="stringliteral">&quot;UNSUPPORTED&quot;</span>) != std::string::npos;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    BOOST_CHECK_MESSAGE(testNameIndicatesUnsupported != testResult.<a class="code" href="struct_layer_test_result.xhtml#a23a6c8147ba9825335d1d6246c11d675">supported</a>,</div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;        <span class="stringliteral">&quot;The test name does not match the supportedness it is reporting&quot;</span>);</div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="keywordflow">if</span> (testResult.<a class="code" href="struct_layer_test_result.xhtml#a23a6c8147ba9825335d1d6246c11d675">supported</a>)</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    {</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;        BOOST_TEST(<a class="code" href="_tensor_helpers_8hpp.xhtml#a0b8fbb443d2cf34a41f6aaae934e3dcb">CompareTensors</a>(testResult.<a class="code" href="struct_layer_test_result.xhtml#ac9d44d346bb7c89f7a7aa31d2bee947f">output</a>, testResult.<a class="code" href="struct_layer_test_result.xhtml#a73610ea6c776cc66e5a78dd842a39b8b">outputExpected</a>, testResult.<a class="code" href="struct_layer_test_result.xhtml#acf486f22af9761356425ade095f8a7fe">compareBoolean</a>));</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    }</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;}</div><div class="ttc" id="struct_layer_test_result_xhtml_acf486f22af9761356425ade095f8a7fe"><div class="ttname"><a href="struct_layer_test_result.xhtml#acf486f22af9761356425ade095f8a7fe">LayerTestResult::compareBoolean</a></div><div class="ttdeci">bool compareBoolean</div><div class="ttdef"><b>Definition:</b> <a href="_layer_test_result_8hpp_source.xhtml#l00043">LayerTestResult.hpp:43</a></div></div>
<div class="ttc" id="_tensor_helpers_8hpp_xhtml_a0b8fbb443d2cf34a41f6aaae934e3dcb"><div class="ttname"><a href="_tensor_helpers_8hpp.xhtml#a0b8fbb443d2cf34a41f6aaae934e3dcb">CompareTensors</a></div><div class="ttdeci">boost::test_tools::predicate_result CompareTensors(const boost::multi_array&lt; T, n &gt; &amp;a, const boost::multi_array&lt; T, n &gt; &amp;b, bool compareBoolean=false)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_helpers_8hpp_source.xhtml#l00075">TensorHelpers.hpp:75</a></div></div>
<div class="ttc" id="struct_layer_test_result_xhtml_a73610ea6c776cc66e5a78dd842a39b8b"><div class="ttname"><a href="struct_layer_test_result.xhtml#a73610ea6c776cc66e5a78dd842a39b8b">LayerTestResult::outputExpected</a></div><div class="ttdeci">boost::multi_array&lt; T, n &gt; outputExpected</div><div class="ttdef"><b>Definition:</b> <a href="_layer_test_result_8hpp_source.xhtml#l00041">LayerTestResult.hpp:41</a></div></div>
<div class="ttc" id="struct_layer_test_result_xhtml_ac9d44d346bb7c89f7a7aa31d2bee947f"><div class="ttname"><a href="struct_layer_test_result.xhtml#ac9d44d346bb7c89f7a7aa31d2bee947f">LayerTestResult::output</a></div><div class="ttdeci">boost::multi_array&lt; T, n &gt; output</div><div class="ttdef"><b>Definition:</b> <a href="_layer_test_result_8hpp_source.xhtml#l00040">LayerTestResult.hpp:40</a></div></div>
<div class="ttc" id="struct_layer_test_result_xhtml_a23a6c8147ba9825335d1d6246c11d675"><div class="ttname"><a href="struct_layer_test_result.xhtml#a23a6c8147ba9825335d1d6246c11d675">LayerTestResult::supported</a></div><div class="ttdeci">bool supported</div><div class="ttdef"><b>Definition:</b> <a href="_layer_test_result_8hpp_source.xhtml#l00042">LayerTestResult.hpp:42</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8d26216e495ef45a749c03e6c6edcd38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d26216e495ef45a749c03e6c6edcd38">&#9670;&nbsp;</a></span>CompareTestResultIfSupported() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CompareTestResultIfSupported </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>testName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::vector&lt; <a class="el" href="struct_layer_test_result.xhtml">LayerTestResult</a>&lt; T, n &gt;&gt; &amp;&#160;</td>
          <td class="paramname"><em>testResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.xhtml#l00048">48</a> of file <a class="el" href="_unit_tests_8hpp_source.xhtml">UnitTests.hpp</a>.</p>

<p class="reference">References <a class="el" href="_tensor_helpers_8hpp_source.xhtml#l00075">CompareTensors()</a>.</p>
<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;{</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keywordtype">bool</span> testNameIndicatesUnsupported = testName.find(<span class="stringliteral">&quot;UNSUPPORTED&quot;</span>) != std::string::npos;</div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i &lt; testResult.size(); ++i)</div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    {</div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;        BOOST_CHECK_MESSAGE(testNameIndicatesUnsupported != testResult[i].<a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>,</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;            <span class="stringliteral">&quot;The test name does not match the supportedness it is reporting&quot;</span>);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;        <span class="keywordflow">if</span> (testResult[i].<a class="code" href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">supported</a>)</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;        {</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;            BOOST_TEST(<a class="code" href="_tensor_helpers_8hpp.xhtml#a0b8fbb443d2cf34a41f6aaae934e3dcb">CompareTensors</a>(testResult[i].output, testResult[i].outputExpected));</div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;        }</div><div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    }</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_a02847c99a2acae3b267615479f93ab55"><div class="ttname"><a href="namespacearmnn.xhtml#a02847c99a2acae3b267615479f93ab55">armnn::supported</a></div><div class="ttdeci">ISubgraphViewConverter supported</div><div class="ttdef"><b>Definition:</b> <a href="_i_subgraph_view_converter_8hpp_source.xhtml#l00031">ISubgraphViewConverter.hpp:31</a></div></div>
<div class="ttc" id="_tensor_helpers_8hpp_xhtml_a0b8fbb443d2cf34a41f6aaae934e3dcb"><div class="ttname"><a href="_tensor_helpers_8hpp.xhtml#a0b8fbb443d2cf34a41f6aaae934e3dcb">CompareTensors</a></div><div class="ttdeci">boost::test_tools::predicate_result CompareTensors(const boost::multi_array&lt; T, n &gt; &amp;a, const boost::multi_array&lt; T, n &gt; &amp;b, bool compareBoolean=false)</div><div class="ttdef"><b>Definition:</b> <a href="_tensor_helpers_8hpp_source.xhtml#l00075">TensorHelpers.hpp:75</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af9e4dd62da9266a1364032ada0267f9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9e4dd62da9266a1364032ada0267f9b">&#9670;&nbsp;</a></span>ConfigureLoggingTest()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ConfigureLoggingTest </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.xhtml#l00015">15</a> of file <a class="el" href="_unit_tests_8hpp_source.xhtml">UnitTests.hpp</a>.</p>

<p class="reference">References <a class="el" href="_utils_8cpp_source.xhtml#l00010">armnn::ConfigureLogging()</a>, and <a class="el" href="namespacearmnn.xhtml#a93a3ba385cad27c4774e5fe64c025d3da882384ec38ce8d9582b57e70861730e4">armnn::Fatal</a>.</p>
<div class="fragment"><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;{</div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;    <span class="comment">// Configures logging for both the ARMNN library and this test program.</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;    <a class="code" href="namespacearmnn.xhtml#aa59f7a819c3e29d10ffc41e5c0616872">armnn::ConfigureLogging</a>(<span class="keyword">true</span>, <span class="keyword">true</span>, <a class="code" href="namespacearmnn.xhtml#a93a3ba385cad27c4774e5fe64c025d3da882384ec38ce8d9582b57e70861730e4">armnn::LogSeverity::Fatal</a>);</div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;}</div><div class="ttc" id="namespacearmnn_xhtml_aa59f7a819c3e29d10ffc41e5c0616872"><div class="ttname"><a href="namespacearmnn.xhtml#aa59f7a819c3e29d10ffc41e5c0616872">armnn::ConfigureLogging</a></div><div class="ttdeci">void ConfigureLogging(bool printToStandardOutput, bool printToDebugOutput, LogSeverity severity)</div><div class="ttdoc">Configures the logging behaviour of the ARMNN library. </div><div class="ttdef"><b>Definition:</b> <a href="_utils_8cpp_source.xhtml#l00010">Utils.cpp:10</a></div></div>
<div class="ttc" id="namespacearmnn_xhtml_a93a3ba385cad27c4774e5fe64c025d3da882384ec38ce8d9582b57e70861730e4"><div class="ttname"><a href="namespacearmnn.xhtml#a93a3ba385cad27c4774e5fe64c025d3da882384ec38ce8d9582b57e70861730e4">armnn::LogSeverity::Fatal</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a10075eca890bd829a87b914c5aa18cb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10075eca890bd829a87b914c5aa18cb3">&#9670;&nbsp;</a></span>RunTestFunction()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void RunTestFunction </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>testName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TFuncPtr&#160;</td>
          <td class="paramname"><em>testFunction</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Args...&#160;</td>
          <td class="paramname"><em>args</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.xhtml#l00063">63</a> of file <a class="el" href="_unit_tests_8hpp_source.xhtml">UnitTests.hpp</a>.</p>

<p class="reference">References <a class="el" href="_unit_tests_8hpp_source.xhtml#l00036">CompareTestResultIfSupported()</a>, <a class="el" href="_profiling_8cpp_source.xhtml#l00487">ProfilerManager::GetInstance()</a>, and <a class="el" href="_profiling_8cpp_source.xhtml#l00494">ProfilerManager::RegisterProfiler()</a>.</p>
<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;{</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    std::unique_ptr&lt;armnn::Profiler&gt; profiler = std::make_unique&lt;armnn::Profiler&gt;();</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <a class="code" href="classarmnn_1_1_profiler_manager.xhtml#a93857080c2523bf3395e7aa7e6024d5c">armnn::ProfilerManager::GetInstance</a>().<a class="code" href="classarmnn_1_1_profiler_manager.xhtml#a029a40ab5d837b3d4f5d3900ceb6a8f9">RegisterProfiler</a>(profiler.get());</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keyword">auto</span> memoryManager = WorkloadFactoryHelper&lt;FactoryType&gt;::GetMemoryManager();</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <a class="code" href="_cl_layer_tests_8cpp.xhtml#a255d08081b372809a176b588529296aa">FactoryType</a> workloadFactory = WorkloadFactoryHelper&lt;FactoryType&gt;::GetFactory(memoryManager);</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keyword">auto</span> testResult = (*testFunction)(workloadFactory, memoryManager, args...);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <a class="code" href="_unit_tests_8hpp.xhtml#acbe506e0365feeed352effe52b1e4852">CompareTestResultIfSupported</a>(testName, testResult);</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;}</div><div class="ttc" id="classarmnn_1_1_profiler_manager_xhtml_a029a40ab5d837b3d4f5d3900ceb6a8f9"><div class="ttname"><a href="classarmnn_1_1_profiler_manager.xhtml#a029a40ab5d837b3d4f5d3900ceb6a8f9">armnn::ProfilerManager::RegisterProfiler</a></div><div class="ttdeci">void RegisterProfiler(Profiler *profiler)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_8cpp_source.xhtml#l00494">Profiling.cpp:494</a></div></div>
<div class="ttc" id="classarmnn_1_1_profiler_manager_xhtml_a93857080c2523bf3395e7aa7e6024d5c"><div class="ttname"><a href="classarmnn_1_1_profiler_manager.xhtml#a93857080c2523bf3395e7aa7e6024d5c">armnn::ProfilerManager::GetInstance</a></div><div class="ttdeci">static ProfilerManager &amp; GetInstance()</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_8cpp_source.xhtml#l00487">Profiling.cpp:487</a></div></div>
<div class="ttc" id="_unit_tests_8hpp_xhtml_acbe506e0365feeed352effe52b1e4852"><div class="ttname"><a href="_unit_tests_8hpp.xhtml#acbe506e0365feeed352effe52b1e4852">CompareTestResultIfSupported</a></div><div class="ttdeci">void CompareTestResultIfSupported(const std::string &amp;testName, const LayerTestResult&lt; T, n &gt; &amp;testResult)</div><div class="ttdoc">Executes BOOST_TEST on CompareTensors() return value so that the predicate_result message is reported...</div><div class="ttdef"><b>Definition:</b> <a href="_unit_tests_8hpp_source.xhtml#l00036">UnitTests.hpp:36</a></div></div>
<div class="ttc" id="_cl_layer_tests_8cpp_xhtml_a255d08081b372809a176b588529296aa"><div class="ttname"><a href="_cl_layer_tests_8cpp.xhtml#a255d08081b372809a176b588529296aa">FactoryType</a></div><div class="ttdeci">ClWorkloadFactory FactoryType</div><div class="ttdef"><b>Definition:</b> <a href="_cl_layer_tests_8cpp_source.xhtml#l00031">ClLayerTests.cpp:31</a></div></div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.xhtml">src</a></li><li class="navelem"><a class="el" href="dir_e0a84d05c80a2ef4231141dcbbeac5c8.xhtml">armnn</a></li><li class="navelem"><a class="el" href="dir_9d86fd1fbecbedf5bdb69c7e7235fe5f.xhtml">test</a></li><li class="navelem"><a class="el" href="_unit_tests_8hpp.xhtml">UnitTests.hpp</a></li>
    <li class="footer">Generated on Fri Mar 13 2020 16:09:14 for ArmNN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
