blob: c274576a3b4b350b990b0e7fab6f0fea2380012a [file] [log] [blame]
Nikhil Raj38b600d2024-02-15 15:02:19 +00001<!-- HTML header for doxygen 1.8.17-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
7<meta name="generator" content="Doxygen 1.8.17"/>
8<meta name="viewport" content="width=device-width, initial-scale=1"/>
9<title>Arm NN: src/armnnTestUtils/UnitTests.hpp File Reference</title>
10<link href="tabs.css" rel="stylesheet" type="text/css"/>
11<script type="text/javascript" src="jquery.js"></script>
12<script type="text/javascript" src="dynsections.js"></script>
13<link href="navtree.css" rel="stylesheet" type="text/css"/>
14<script type="text/javascript" src="resize.js"></script>
15<script type="text/javascript" src="navtreedata.js"></script>
16<script type="text/javascript" src="navtree.js"></script>
17<link href="search/search.css" rel="stylesheet" type="text/css"/>
18<script type="text/javascript" src="search/searchdata.js"></script>
19<script type="text/javascript" src="search/search.js"></script>
20<script type="text/x-mathjax-config">
21 MathJax.Hub.Config({
22 extensions: ["tex2jax.js"],
23 jax: ["input/TeX","output/HTML-CSS"],
24});
25</script>
26<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
27<link href="doxygen.css" rel="stylesheet" type="text/css" />
28<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
29</head>
30<body>
31<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
32<div id="titlearea">
33<table cellspacing="0" cellpadding="0">
34 <tbody>
35 <tr style="height: 56px;">
36 <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
37 <td id="projectalign" style="padding-left: 0.9em;">
38 <div id="projectname">
39 &#160;<span id="projectnumber">24.02</span>
40 </div>
41 </td>
42 </tr>
43 </tbody>
44</table>
45</div>
46<!-- end header part -->
47<!-- Generated by Doxygen 1.8.17 -->
48<script type="text/javascript">
49/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
50var searchBox = new SearchBox("searchBox", "search",false,'Search');
51/* @license-end */
52</script>
53<script type="text/javascript" src="menudata.js"></script>
54<script type="text/javascript" src="menu.js"></script>
55<script type="text/javascript">
56/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
57$(function() {
58 initMenu('',true,false,'search.php','Search');
59 $(document).ready(function() { init_search(); });
60});
61/* @license-end */</script>
62<div id="main-nav"></div>
63</div><!-- top -->
64<div id="side-nav" class="ui-resizable side-nav-resizable">
65 <div id="nav-tree">
66 <div id="nav-tree-contents">
67 <div id="nav-sync" class="sync"></div>
68 </div>
69 </div>
70 <div id="splitbar" style="-moz-user-select:none;"
71 class="ui-resizable-handle">
72 </div>
73</div>
74<script type="text/javascript">
75/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
76$(document).ready(function(){initNavTree('_unit_tests_8hpp.html',''); initResizable(); });
77/* @license-end */
78</script>
79<div id="doc-content">
80<!-- window showing the filter options -->
81<div id="MSearchSelectWindow"
82 onmouseover="return searchBox.OnSearchSelectShow()"
83 onmouseout="return searchBox.OnSearchSelectHide()"
84 onkeydown="return searchBox.OnSearchSelectKey(event)">
85</div>
86
87<!-- iframe showing the search results (closed by default) -->
88<div id="MSearchResultsWindow">
89<iframe src="javascript:void(0)" frameborder="0"
90 name="MSearchResults" id="MSearchResults">
91</iframe>
92</div>
93
94<div class="header">
95 <div class="summary">
96<a href="#define-members">Macros</a> &#124;
97<a href="#func-members">Functions</a> </div>
98 <div class="headertitle">
99<div class="title">UnitTests.hpp File Reference</div> </div>
100</div><!--header-->
101<div class="contents">
102<div class="textblock"><code>#include &quot;armnnTestUtils/TensorHelpers.hpp&quot;</code><br />
103<code>#include &lt;<a class="el" href="_logging_8hpp_source.html">armnn/Logging.hpp</a>&gt;</code><br />
104<code>#include &lt;<a class="el" href="_utils_8hpp_source.html">armnn/Utils.hpp</a>&gt;</code><br />
105<code>#include &lt;<a class="el" href="_ref_workload_factory_8hpp_source.html">reference/RefWorkloadFactory.hpp</a>&gt;</code><br />
106<code>#include &lt;reference/test/RefWorkloadFactoryHelper.hpp&gt;</code><br />
107<code>#include &lt;backendsCommon/test/WorkloadFactoryHelper.hpp&gt;</code><br />
108<code>#include &lt;armnnTestUtils/LayerTestResult.hpp&gt;</code><br />
109<code>#include &lt;armnnTestUtils/TensorCopyUtils.hpp&gt;</code><br />
110<code>#include &lt;armnnTestUtils/WorkloadTestUtils.hpp&gt;</code><br />
111<code>#include &lt;doctest/doctest.h&gt;</code><br />
112</div><div class="textblock"><div class="dynheader">
113Include dependency graph for UnitTests.hpp:</div>
114<div class="dyncontent">
115<div class="center"><iframe scrolling="no" frameborder="0" src="_unit_tests_8hpp__incl.svg" width="5199" height="918"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
116</div>
117</div>
118</div><div class="textblock"><div class="dynheader">
119This graph shows which files directly or indirectly include this file:</div>
120<div class="dyncontent">
121<div class="center"><iframe scrolling="no" frameborder="0" src="_unit_tests_8hpp__dep__incl.svg" width="154" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
122</div>
123</div>
124</div>
125<p><a href="_unit_tests_8hpp_source.html">Go to the source code of this file.</a></p>
126<table class="memberdecls">
127<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
128Macros</h2></td></tr>
129<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.html#a44ea827d997f1aa0e39d9a6d6675465c">ARMNN_SIMPLE_TEST_CASE</a>(TestName, TestFunction)</td></tr>
130<tr class="separator:a44ea827d997f1aa0e39d9a6d6675465c"><td class="memSeparator" colspan="2">&#160;</td></tr>
131<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.html#ae6ce9102495fab6e3957f61281238e3d">ARMNN_AUTO_TEST_CASE</a>(TestName, TestFunction, ...)</td></tr>
132<tr class="separator:ae6ce9102495fab6e3957f61281238e3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
133<tr class="memitem:a4628f323c7af33f559cb2642d94f0194"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.html#a4628f323c7af33f559cb2642d94f0194">ARMNN_AUTO_TEST_FIXTURE</a>(TestName, Fixture, TestFunction, ...)</td></tr>
134<tr class="separator:a4628f323c7af33f559cb2642d94f0194"><td class="memSeparator" colspan="2">&#160;</td></tr>
135<tr class="memitem:a0ab6cdd4f66de9300527359858cbe5af"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.html#a0ab6cdd4f66de9300527359858cbe5af">ARMNN_AUTO_TEST_CASE_WITH_THF</a>(TestName, TestFunction, ...)</td></tr>
136<tr class="separator:a0ab6cdd4f66de9300527359858cbe5af"><td class="memSeparator" colspan="2">&#160;</td></tr>
137<tr class="memitem:aceaf1e66bde6deb47e5243c3d03b8fd4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.html#aceaf1e66bde6deb47e5243c3d03b8fd4">ARMNN_AUTO_TEST_FIXTURE_WITH_THF</a>(TestName, Fixture, TestFunction, ...)</td></tr>
138<tr class="separator:aceaf1e66bde6deb47e5243c3d03b8fd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
139<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.html#a07e04849fc0700facf91fecce71ff733">ARMNN_COMPARE_REF_AUTO_TEST_CASE</a>(TestName, TestFunction, ...)</td></tr>
140<tr class="separator:a07e04849fc0700facf91fecce71ff733"><td class="memSeparator" colspan="2">&#160;</td></tr>
141<tr class="memitem:a2d0f84912baa7b88f72c8df1b904aa20"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.html#a2d0f84912baa7b88f72c8df1b904aa20">ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF</a>(TestName, TestFunction, ...)</td></tr>
142<tr class="separator:a2d0f84912baa7b88f72c8df1b904aa20"><td class="memSeparator" colspan="2">&#160;</td></tr>
143<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.html#af2016edd458865d471fe1afc82b3c126">ARMNN_COMPARE_REF_FIXTURE_TEST_CASE</a>(TestName, Fixture, TestFunction, ...)</td></tr>
144<tr class="separator:af2016edd458865d471fe1afc82b3c126"><td class="memSeparator" colspan="2">&#160;</td></tr>
145<tr class="memitem:a27949c8e47f407cf0d135c96ed969cf9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.html#a27949c8e47f407cf0d135c96ed969cf9">ARMNN_COMPARE_REF_FIXTURE_TEST_CASE_WITH_THF</a>(TestName, Fixture, TestFunction, ...)</td></tr>
146<tr class="separator:a27949c8e47f407cf0d135c96ed969cf9"><td class="memSeparator" colspan="2">&#160;</td></tr>
147</table><table class="memberdecls">
148<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
149Functions</h2></td></tr>
150<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.html#af9e4dd62da9266a1364032ada0267f9b">ConfigureLoggingTest</a> ()</td></tr>
151<tr class="separator:af9e4dd62da9266a1364032ada0267f9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
152<tr class="memitem:acbe506e0365feeed352effe52b1e4852"><td class="memTemplParams" colspan="2">template&lt;typename T , std::size_t n&gt; </td></tr>
153<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.html#acbe506e0365feeed352effe52b1e4852">CompareTestResultIfSupported</a> (const std::string &amp;testName, const LayerTestResult&lt; T, n &gt; &amp;testResult)</td></tr>
154<tr class="memdesc:acbe506e0365feeed352effe52b1e4852"><td class="mdescLeft">&#160;</td><td class="mdescRight">Executes CHECK_MESSAGE on CompareTensors() return value so that the predicate_result message is reported. <a href="_unit_tests_8hpp.html#acbe506e0365feeed352effe52b1e4852">More...</a><br /></td></tr>
155<tr class="separator:acbe506e0365feeed352effe52b1e4852"><td class="memSeparator" colspan="2">&#160;</td></tr>
156<tr class="memitem:a8d26216e495ef45a749c03e6c6edcd38"><td class="memTemplParams" colspan="2">template&lt;typename T , std::size_t n&gt; </td></tr>
157<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.html#a8d26216e495ef45a749c03e6c6edcd38">CompareTestResultIfSupported</a> (const std::string &amp;testName, const std::vector&lt; LayerTestResult&lt; T, n &gt;&gt; &amp;testResult)</td></tr>
158<tr class="separator:a8d26216e495ef45a749c03e6c6edcd38"><td class="memSeparator" colspan="2">&#160;</td></tr>
159<tr class="memitem:a10075eca890bd829a87b914c5aa18cb3"><td class="memTemplParams" colspan="2">template&lt;typename FactoryType , typename TFuncPtr , typename... Args&gt; </td></tr>
160<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.html#a10075eca890bd829a87b914c5aa18cb3">RunTestFunction</a> (const char *testName, TFuncPtr testFunction, Args... args)</td></tr>
161<tr class="separator:a10075eca890bd829a87b914c5aa18cb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
162<tr class="memitem:ae9222f9685bc46d77397c262858172c3"><td class="memTemplParams" colspan="2">template&lt;typename FactoryType , typename TFuncPtr , typename... Args&gt; </td></tr>
163<tr class="memitem:ae9222f9685bc46d77397c262858172c3"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.html#ae9222f9685bc46d77397c262858172c3">RunTestFunctionUsingTensorHandleFactory</a> (const char *testName, TFuncPtr testFunction, Args... args)</td></tr>
164<tr class="separator:ae9222f9685bc46d77397c262858172c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
165<tr class="memitem:a2d8f71b48349370e1d5c0a9b39e3d162"><td class="memTemplParams" colspan="2">template&lt;typename FactoryType , typename TFuncPtr , typename... Args&gt; </td></tr>
166<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.html#a2d8f71b48349370e1d5c0a9b39e3d162">CompareRefTestFunction</a> (const char *testName, TFuncPtr testFunction, Args... args)</td></tr>
167<tr class="separator:a2d8f71b48349370e1d5c0a9b39e3d162"><td class="memSeparator" colspan="2">&#160;</td></tr>
168<tr class="memitem:a82ab208235e164dca8c02f925e03dc44"><td class="memTemplParams" colspan="2">template&lt;typename FactoryType , typename TFuncPtr , typename... Args&gt; </td></tr>
169<tr class="memitem:a82ab208235e164dca8c02f925e03dc44"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="_unit_tests_8hpp.html#a82ab208235e164dca8c02f925e03dc44">CompareRefTestFunctionUsingTensorHandleFactory</a> (const char *testName, TFuncPtr testFunction, Args... args)</td></tr>
170<tr class="separator:a82ab208235e164dca8c02f925e03dc44"><td class="memSeparator" colspan="2">&#160;</td></tr>
171</table>
172<h2 class="groupheader">Macro Definition Documentation</h2>
173<a id="ae6ce9102495fab6e3957f61281238e3d"></a>
174<h2 class="memtitle"><span class="permalink"><a href="#ae6ce9102495fab6e3957f61281238e3d">&#9670;&nbsp;</a></span>ARMNN_AUTO_TEST_CASE</h2>
175
176<div class="memitem">
177<div class="memproto">
178 <table class="memname">
179 <tr>
180 <td class="memname">#define ARMNN_AUTO_TEST_CASE</td>
181 <td>(</td>
182 <td class="paramtype">&#160;</td>
183 <td class="paramname">TestName, </td>
184 </tr>
185 <tr>
186 <td class="paramkey"></td>
187 <td></td>
188 <td class="paramtype">&#160;</td>
189 <td class="paramname">TestFunction, </td>
190 </tr>
191 <tr>
192 <td class="paramkey"></td>
193 <td></td>
194 <td class="paramtype">&#160;</td>
195 <td class="paramname"><em>...</em>&#160;</td>
196 </tr>
197 <tr>
198 <td></td>
199 <td>)</td>
200 <td></td><td></td>
201 </tr>
202 </table>
203</div><div class="memdoc">
204<b>Value:</b><div class="fragment"><div class="line"> TEST_CASE(#TestName) \</div>
205<div class="line"> { \</div>
206<div class="line"> RunTestFunction&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div>
207<div class="line"> }</div>
208</div><!-- fragment -->
209<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00117">117</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
210
211</div>
212</div>
213<a id="a0ab6cdd4f66de9300527359858cbe5af"></a>
214<h2 class="memtitle"><span class="permalink"><a href="#a0ab6cdd4f66de9300527359858cbe5af">&#9670;&nbsp;</a></span>ARMNN_AUTO_TEST_CASE_WITH_THF</h2>
215
216<div class="memitem">
217<div class="memproto">
218 <table class="memname">
219 <tr>
220 <td class="memname">#define ARMNN_AUTO_TEST_CASE_WITH_THF</td>
221 <td>(</td>
222 <td class="paramtype">&#160;</td>
223 <td class="paramname">TestName, </td>
224 </tr>
225 <tr>
226 <td class="paramkey"></td>
227 <td></td>
228 <td class="paramtype">&#160;</td>
229 <td class="paramname">TestFunction, </td>
230 </tr>
231 <tr>
232 <td class="paramkey"></td>
233 <td></td>
234 <td class="paramtype">&#160;</td>
235 <td class="paramname"><em>...</em>&#160;</td>
236 </tr>
237 <tr>
238 <td></td>
239 <td>)</td>
240 <td></td><td></td>
241 </tr>
242 </table>
243</div><div class="memdoc">
244<b>Value:</b><div class="fragment"><div class="line"> TEST_CASE(#TestName) \</div>
245<div class="line"> { \</div>
246<div class="line"> RunTestFunctionUsingTensorHandleFactory&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div>
247<div class="line"> }</div>
248</div><!-- fragment -->
249<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00129">129</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
250
251</div>
252</div>
253<a id="a4628f323c7af33f559cb2642d94f0194"></a>
254<h2 class="memtitle"><span class="permalink"><a href="#a4628f323c7af33f559cb2642d94f0194">&#9670;&nbsp;</a></span>ARMNN_AUTO_TEST_FIXTURE</h2>
255
256<div class="memitem">
257<div class="memproto">
258 <table class="memname">
259 <tr>
260 <td class="memname">#define ARMNN_AUTO_TEST_FIXTURE</td>
261 <td>(</td>
262 <td class="paramtype">&#160;</td>
263 <td class="paramname">TestName, </td>
264 </tr>
265 <tr>
266 <td class="paramkey"></td>
267 <td></td>
268 <td class="paramtype">&#160;</td>
269 <td class="paramname">Fixture, </td>
270 </tr>
271 <tr>
272 <td class="paramkey"></td>
273 <td></td>
274 <td class="paramtype">&#160;</td>
275 <td class="paramname">TestFunction, </td>
276 </tr>
277 <tr>
278 <td class="paramkey"></td>
279 <td></td>
280 <td class="paramtype">&#160;</td>
281 <td class="paramname"><em>...</em>&#160;</td>
282 </tr>
283 <tr>
284 <td></td>
285 <td>)</td>
286 <td></td><td></td>
287 </tr>
288 </table>
289</div><div class="memdoc">
290<b>Value:</b><div class="fragment"><div class="line"> TEST_CASE_FIXTURE(Fixture, #TestName) \</div>
291<div class="line"> { \</div>
292<div class="line"> RunTestFunction&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div>
293<div class="line"> }</div>
294</div><!-- fragment -->
295<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00123">123</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
296
297</div>
298</div>
299<a id="aceaf1e66bde6deb47e5243c3d03b8fd4"></a>
300<h2 class="memtitle"><span class="permalink"><a href="#aceaf1e66bde6deb47e5243c3d03b8fd4">&#9670;&nbsp;</a></span>ARMNN_AUTO_TEST_FIXTURE_WITH_THF</h2>
301
302<div class="memitem">
303<div class="memproto">
304 <table class="memname">
305 <tr>
306 <td class="memname">#define ARMNN_AUTO_TEST_FIXTURE_WITH_THF</td>
307 <td>(</td>
308 <td class="paramtype">&#160;</td>
309 <td class="paramname">TestName, </td>
310 </tr>
311 <tr>
312 <td class="paramkey"></td>
313 <td></td>
314 <td class="paramtype">&#160;</td>
315 <td class="paramname">Fixture, </td>
316 </tr>
317 <tr>
318 <td class="paramkey"></td>
319 <td></td>
320 <td class="paramtype">&#160;</td>
321 <td class="paramname">TestFunction, </td>
322 </tr>
323 <tr>
324 <td class="paramkey"></td>
325 <td></td>
326 <td class="paramtype">&#160;</td>
327 <td class="paramname"><em>...</em>&#160;</td>
328 </tr>
329 <tr>
330 <td></td>
331 <td>)</td>
332 <td></td><td></td>
333 </tr>
334 </table>
335</div><div class="memdoc">
336<b>Value:</b><div class="fragment"><div class="line"> TEST_CASE_FIXTURE(Fixture, #TestName) \</div>
337<div class="line"> { \</div>
338<div class="line"> RunTestFunctionUsingTensorHandleFactory&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div>
339<div class="line"> }</div>
340</div><!-- fragment -->
341<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00135">135</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
342
343</div>
344</div>
345<a id="a07e04849fc0700facf91fecce71ff733"></a>
346<h2 class="memtitle"><span class="permalink"><a href="#a07e04849fc0700facf91fecce71ff733">&#9670;&nbsp;</a></span>ARMNN_COMPARE_REF_AUTO_TEST_CASE</h2>
347
348<div class="memitem">
349<div class="memproto">
350 <table class="memname">
351 <tr>
352 <td class="memname">#define ARMNN_COMPARE_REF_AUTO_TEST_CASE</td>
353 <td>(</td>
354 <td class="paramtype">&#160;</td>
355 <td class="paramname">TestName, </td>
356 </tr>
357 <tr>
358 <td class="paramkey"></td>
359 <td></td>
360 <td class="paramtype">&#160;</td>
361 <td class="paramname">TestFunction, </td>
362 </tr>
363 <tr>
364 <td class="paramkey"></td>
365 <td></td>
366 <td class="paramtype">&#160;</td>
367 <td class="paramname"><em>...</em>&#160;</td>
368 </tr>
369 <tr>
370 <td></td>
371 <td>)</td>
372 <td></td><td></td>
373 </tr>
374 </table>
375</div><div class="memdoc">
376<b>Value:</b><div class="fragment"><div class="line"> TEST_CASE(#TestName) \</div>
377<div class="line"> { \</div>
378<div class="line"> CompareRefTestFunction&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div>
379<div class="line"> }</div>
380</div><!-- fragment -->
381<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00169">169</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
382
383</div>
384</div>
385<a id="a2d0f84912baa7b88f72c8df1b904aa20"></a>
386<h2 class="memtitle"><span class="permalink"><a href="#a2d0f84912baa7b88f72c8df1b904aa20">&#9670;&nbsp;</a></span>ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF</h2>
387
388<div class="memitem">
389<div class="memproto">
390 <table class="memname">
391 <tr>
392 <td class="memname">#define ARMNN_COMPARE_REF_AUTO_TEST_CASE_WITH_THF</td>
393 <td>(</td>
394 <td class="paramtype">&#160;</td>
395 <td class="paramname">TestName, </td>
396 </tr>
397 <tr>
398 <td class="paramkey"></td>
399 <td></td>
400 <td class="paramtype">&#160;</td>
401 <td class="paramname">TestFunction, </td>
402 </tr>
403 <tr>
404 <td class="paramkey"></td>
405 <td></td>
406 <td class="paramtype">&#160;</td>
407 <td class="paramname"><em>...</em>&#160;</td>
408 </tr>
409 <tr>
410 <td></td>
411 <td>)</td>
412 <td></td><td></td>
413 </tr>
414 </table>
415</div><div class="memdoc">
416<b>Value:</b><div class="fragment"><div class="line"> TEST_CASE(#TestName) \</div>
417<div class="line"> { \</div>
418<div class="line"> CompareRefTestFunctionUsingTensorHandleFactory&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div>
419<div class="line"> }</div>
420</div><!-- fragment -->
421<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00175">175</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
422
423</div>
424</div>
425<a id="af2016edd458865d471fe1afc82b3c126"></a>
426<h2 class="memtitle"><span class="permalink"><a href="#af2016edd458865d471fe1afc82b3c126">&#9670;&nbsp;</a></span>ARMNN_COMPARE_REF_FIXTURE_TEST_CASE</h2>
427
428<div class="memitem">
429<div class="memproto">
430 <table class="memname">
431 <tr>
432 <td class="memname">#define ARMNN_COMPARE_REF_FIXTURE_TEST_CASE</td>
433 <td>(</td>
434 <td class="paramtype">&#160;</td>
435 <td class="paramname">TestName, </td>
436 </tr>
437 <tr>
438 <td class="paramkey"></td>
439 <td></td>
440 <td class="paramtype">&#160;</td>
441 <td class="paramname">Fixture, </td>
442 </tr>
443 <tr>
444 <td class="paramkey"></td>
445 <td></td>
446 <td class="paramtype">&#160;</td>
447 <td class="paramname">TestFunction, </td>
448 </tr>
449 <tr>
450 <td class="paramkey"></td>
451 <td></td>
452 <td class="paramtype">&#160;</td>
453 <td class="paramname"><em>...</em>&#160;</td>
454 </tr>
455 <tr>
456 <td></td>
457 <td>)</td>
458 <td></td><td></td>
459 </tr>
460 </table>
461</div><div class="memdoc">
462<b>Value:</b><div class="fragment"><div class="line"> TEST_CASE_FIXTURE(Fixture, #TestName) \</div>
463<div class="line"> { \</div>
464<div class="line"> CompareRefTestFunction&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div>
465<div class="line"> }</div>
466</div><!-- fragment -->
467<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00181">181</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
468
469</div>
470</div>
471<a id="a27949c8e47f407cf0d135c96ed969cf9"></a>
472<h2 class="memtitle"><span class="permalink"><a href="#a27949c8e47f407cf0d135c96ed969cf9">&#9670;&nbsp;</a></span>ARMNN_COMPARE_REF_FIXTURE_TEST_CASE_WITH_THF</h2>
473
474<div class="memitem">
475<div class="memproto">
476 <table class="memname">
477 <tr>
478 <td class="memname">#define ARMNN_COMPARE_REF_FIXTURE_TEST_CASE_WITH_THF</td>
479 <td>(</td>
480 <td class="paramtype">&#160;</td>
481 <td class="paramname">TestName, </td>
482 </tr>
483 <tr>
484 <td class="paramkey"></td>
485 <td></td>
486 <td class="paramtype">&#160;</td>
487 <td class="paramname">Fixture, </td>
488 </tr>
489 <tr>
490 <td class="paramkey"></td>
491 <td></td>
492 <td class="paramtype">&#160;</td>
493 <td class="paramname">TestFunction, </td>
494 </tr>
495 <tr>
496 <td class="paramkey"></td>
497 <td></td>
498 <td class="paramtype">&#160;</td>
499 <td class="paramname"><em>...</em>&#160;</td>
500 </tr>
501 <tr>
502 <td></td>
503 <td>)</td>
504 <td></td><td></td>
505 </tr>
506 </table>
507</div><div class="memdoc">
508<b>Value:</b><div class="fragment"><div class="line"> TEST_CASE_FIXTURE(Fixture, #TestName) \</div>
509<div class="line"> { \</div>
510<div class="line"> CompareRefTestFunctionUsingTensorHandleFactory&lt;FactoryType&gt;(#TestName, &amp;TestFunction, ##__VA_ARGS__); \</div>
511<div class="line"> }</div>
512</div><!-- fragment -->
513<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00187">187</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
514
515</div>
516</div>
517<a id="a44ea827d997f1aa0e39d9a6d6675465c"></a>
518<h2 class="memtitle"><span class="permalink"><a href="#a44ea827d997f1aa0e39d9a6d6675465c">&#9670;&nbsp;</a></span>ARMNN_SIMPLE_TEST_CASE</h2>
519
520<div class="memitem">
521<div class="memproto">
522 <table class="memname">
523 <tr>
524 <td class="memname">#define ARMNN_SIMPLE_TEST_CASE</td>
525 <td>(</td>
526 <td class="paramtype">&#160;</td>
527 <td class="paramname">TestName, </td>
528 </tr>
529 <tr>
530 <td class="paramkey"></td>
531 <td></td>
532 <td class="paramtype">&#160;</td>
533 <td class="paramname">TestFunction&#160;</td>
534 </tr>
535 <tr>
536 <td></td>
537 <td>)</td>
538 <td></td><td></td>
539 </tr>
540 </table>
541</div><div class="memdoc">
542<b>Value:</b><div class="fragment"><div class="line"> TEST_CASE(#TestName) \</div>
543<div class="line"> { \</div>
544<div class="line"> TestFunction(); \</div>
545<div class="line"> }</div>
546</div><!-- fragment -->
547<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00111">111</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
548
549</div>
550</div>
551<h2 class="groupheader">Function Documentation</h2>
552<a id="a2d8f71b48349370e1d5c0a9b39e3d162"></a>
553<h2 class="memtitle"><span class="permalink"><a href="#a2d8f71b48349370e1d5c0a9b39e3d162">&#9670;&nbsp;</a></span>CompareRefTestFunction()</h2>
554
555<div class="memitem">
556<div class="memproto">
557 <table class="memname">
558 <tr>
559 <td class="memname">void CompareRefTestFunction </td>
560 <td>(</td>
561 <td class="paramtype">const char *&#160;</td>
562 <td class="paramname"><em>testName</em>, </td>
563 </tr>
564 <tr>
565 <td class="paramkey"></td>
566 <td></td>
567 <td class="paramtype">TFuncPtr&#160;</td>
568 <td class="paramname"><em>testFunction</em>, </td>
569 </tr>
570 <tr>
571 <td class="paramkey"></td>
572 <td></td>
573 <td class="paramtype">Args...&#160;</td>
574 <td class="paramname"><em>args</em>&#160;</td>
575 </tr>
576 <tr>
577 <td></td>
578 <td>)</td>
579 <td></td><td></td>
580 </tr>
581 </table>
582</div><div class="memdoc">
583
584<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00142">142</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
585<div class="fragment"><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;{</div>
586<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="keyword">auto</span> memoryManager = WorkloadFactoryHelper&lt;FactoryType&gt;::GetMemoryManager();</div>
587<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; FactoryType workloadFactory = WorkloadFactoryHelper&lt;FactoryType&gt;::GetFactory(memoryManager);</div>
588<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; </div>
589<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="code" href="classarmnn_1_1_ref_workload_factory.html">armnn::RefWorkloadFactory</a> refWorkloadFactory;</div>
590<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; </div>
591<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keyword">auto</span> testResult = (*testFunction)(workloadFactory, memoryManager, refWorkloadFactory, args...);</div>
592<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="_unit_tests_8hpp.html#acbe506e0365feeed352effe52b1e4852">CompareTestResultIfSupported</a>(testName, testResult);</div>
593<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;}</div>
594</div><!-- fragment -->
595<p class="reference">References <a class="el" href="_unit_tests_8hpp_source.html#l00043">CompareTestResultIfSupported()</a>.</p>
596
597</div>
598</div>
599<a id="a82ab208235e164dca8c02f925e03dc44"></a>
600<h2 class="memtitle"><span class="permalink"><a href="#a82ab208235e164dca8c02f925e03dc44">&#9670;&nbsp;</a></span>CompareRefTestFunctionUsingTensorHandleFactory()</h2>
601
602<div class="memitem">
603<div class="memproto">
604 <table class="memname">
605 <tr>
606 <td class="memname">void CompareRefTestFunctionUsingTensorHandleFactory </td>
607 <td>(</td>
608 <td class="paramtype">const char *&#160;</td>
609 <td class="paramname"><em>testName</em>, </td>
610 </tr>
611 <tr>
612 <td class="paramkey"></td>
613 <td></td>
614 <td class="paramtype">TFuncPtr&#160;</td>
615 <td class="paramname"><em>testFunction</em>, </td>
616 </tr>
617 <tr>
618 <td class="paramkey"></td>
619 <td></td>
620 <td class="paramtype">Args...&#160;</td>
621 <td class="paramname"><em>args</em>&#160;</td>
622 </tr>
623 <tr>
624 <td></td>
625 <td>)</td>
626 <td></td><td></td>
627 </tr>
628 </table>
629</div><div class="memdoc">
630
631<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00154">154</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
632<div class="fragment"><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;{</div>
633<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keyword">auto</span> memoryManager = WorkloadFactoryHelper&lt;FactoryType&gt;::GetMemoryManager();</div>
634<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; FactoryType workloadFactory = WorkloadFactoryHelper&lt;FactoryType&gt;::GetFactory(memoryManager);</div>
635<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keyword">auto</span> tensorHandleFactory = WorkloadFactoryHelper&lt;FactoryType&gt;::GetTensorHandleFactory(memoryManager);</div>
636<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; </div>
637<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="classarmnn_1_1_ref_workload_factory.html">armnn::RefWorkloadFactory</a> refWorkloadFactory;</div>
638<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keyword">auto</span> refMemoryManager = WorkloadFactoryHelper&lt;armnn::RefWorkloadFactory&gt;::GetMemoryManager();</div>
639<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keyword">auto</span> refTensorHandleFactory = RefWorkloadFactoryHelper::GetTensorHandleFactory(refMemoryManager);</div>
640<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; </div>
641<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keyword">auto</span> testResult = (*testFunction)(</div>
642<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; workloadFactory, memoryManager, refWorkloadFactory, tensorHandleFactory, refTensorHandleFactory, args...);</div>
643<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <a class="code" href="_unit_tests_8hpp.html#acbe506e0365feeed352effe52b1e4852">CompareTestResultIfSupported</a>(testName, testResult);</div>
644<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;}</div>
645</div><!-- fragment -->
646<p class="reference">References <a class="el" href="_unit_tests_8hpp_source.html#l00043">CompareTestResultIfSupported()</a>.</p>
647
648</div>
649</div>
650<a id="acbe506e0365feeed352effe52b1e4852"></a>
651<h2 class="memtitle"><span class="permalink"><a href="#acbe506e0365feeed352effe52b1e4852">&#9670;&nbsp;</a></span>CompareTestResultIfSupported() <span class="overload">[1/2]</span></h2>
652
653<div class="memitem">
654<div class="memproto">
655 <table class="memname">
656 <tr>
657 <td class="memname">void CompareTestResultIfSupported </td>
658 <td>(</td>
659 <td class="paramtype">const std::string &amp;&#160;</td>
660 <td class="paramname"><em>testName</em>, </td>
661 </tr>
662 <tr>
663 <td class="paramkey"></td>
664 <td></td>
665 <td class="paramtype">const LayerTestResult&lt; T, n &gt; &amp;&#160;</td>
666 <td class="paramname"><em>testResult</em>&#160;</td>
667 </tr>
668 <tr>
669 <td></td>
670 <td>)</td>
671 <td></td><td></td>
672 </tr>
673 </table>
674</div><div class="memdoc">
675
676<p>Executes CHECK_MESSAGE on CompareTensors() return value so that the predicate_result message is reported. </p>
677<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>
678
679<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00043">43</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
680<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;{</div>
681<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">bool</span> testNameIndicatesUnsupported = testName.find(<span class="stringliteral">&quot;UNSUPPORTED&quot;</span>) != std::string::npos;</div>
682<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; CHECK_MESSAGE(testNameIndicatesUnsupported != testResult.m_Supported,</div>
683<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="stringliteral">&quot;The test name does not match the supportedness it is reporting&quot;</span>);</div>
684<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (testResult.m_Supported)</div>
685<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div>
686<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keyword">auto</span> result = CompareTensors(testResult.m_ActualData,</div>
687<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; testResult.m_ExpectedData,</div>
688<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; testResult.m_ActualShape,</div>
689<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; testResult.m_ExpectedShape,</div>
690<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; testResult.m_CompareBoolean);</div>
691<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; CHECK_MESSAGE(result.m_Result, result.m_Message.str());</div>
692<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
693<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160;}</div>
694</div><!-- fragment -->
695<p class="reference">Referenced by <a class="el" href="_unit_tests_8hpp_source.html#l00142">CompareRefTestFunction()</a>, <a class="el" href="_unit_tests_8hpp_source.html#l00154">CompareRefTestFunctionUsingTensorHandleFactory()</a>, <a class="el" href="_unit_tests_8hpp_source.html#l00079">RunTestFunction()</a>, and <a class="el" href="_unit_tests_8hpp_source.html#l00095">RunTestFunctionUsingTensorHandleFactory()</a>.</p>
696
697</div>
698</div>
699<a id="a8d26216e495ef45a749c03e6c6edcd38"></a>
700<h2 class="memtitle"><span class="permalink"><a href="#a8d26216e495ef45a749c03e6c6edcd38">&#9670;&nbsp;</a></span>CompareTestResultIfSupported() <span class="overload">[2/2]</span></h2>
701
702<div class="memitem">
703<div class="memproto">
704 <table class="memname">
705 <tr>
706 <td class="memname">void CompareTestResultIfSupported </td>
707 <td>(</td>
708 <td class="paramtype">const std::string &amp;&#160;</td>
709 <td class="paramname"><em>testName</em>, </td>
710 </tr>
711 <tr>
712 <td class="paramkey"></td>
713 <td></td>
714 <td class="paramtype">const std::vector&lt; LayerTestResult&lt; T, n &gt;&gt; &amp;&#160;</td>
715 <td class="paramname"><em>testResult</em>&#160;</td>
716 </tr>
717 <tr>
718 <td></td>
719 <td>)</td>
720 <td></td><td></td>
721 </tr>
722 </table>
723</div><div class="memdoc">
724
725<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00060">60</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
726<div class="fragment"><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;{</div>
727<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordtype">bool</span> testNameIndicatesUnsupported = testName.find(<span class="stringliteral">&quot;UNSUPPORTED&quot;</span>) != std::string::npos;</div>
728<div class="line"><a name="l00063"></a><span class="lineno"> 63</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>
729<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; {</div>
730<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; CHECK_MESSAGE(testNameIndicatesUnsupported != testResult[i].m_Supported,</div>
731<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="stringliteral">&quot;The test name does not match the supportedness it is reporting&quot;</span>);</div>
732<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span> (testResult[i].m_Supported)</div>
733<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
734<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">auto</span> result = CompareTensors(testResult[i].m_ActualData,</div>
735<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; testResult[i].m_ExpectedData,</div>
736<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; testResult[i].m_ActualShape,</div>
737<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; testResult[i].m_ExpectedShape);</div>
738<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; CHECK_MESSAGE(result.m_Result, result.m_Message.str());</div>
739<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
740<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; }</div>
741<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;}</div>
742</div><!-- fragment -->
743</div>
744</div>
745<a id="af9e4dd62da9266a1364032ada0267f9b"></a>
746<h2 class="memtitle"><span class="permalink"><a href="#af9e4dd62da9266a1364032ada0267f9b">&#9670;&nbsp;</a></span>ConfigureLoggingTest()</h2>
747
748<div class="memitem">
749<div class="memproto">
750<table class="mlabels">
751 <tr>
752 <td class="mlabels-left">
753 <table class="memname">
754 <tr>
755 <td class="memname">void ConfigureLoggingTest </td>
756 <td>(</td>
757 <td class="paramname"></td><td>)</td>
758 <td></td>
759 </tr>
760 </table>
761 </td>
762 <td class="mlabels-right">
763<span class="mlabels"><span class="mlabel">inline</span></span> </td>
764 </tr>
765</table>
766</div><div class="memdoc">
767
768<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00022">22</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
769<div class="fragment"><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;{</div>
770<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="comment">// Configures logging for both the ARMNN library and this test program.</span></div>
771<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="code" href="namespacearmnn.html#aa59f7a819c3e29d10ffc41e5c0616872">armnn::ConfigureLogging</a>(<span class="keyword">true</span>, <span class="keyword">true</span>, <a class="code" href="namespacearmnn.html#a93a3ba385cad27c4774e5fe64c025d3da882384ec38ce8d9582b57e70861730e4">armnn::LogSeverity::Fatal</a>);</div>
772<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;}</div>
773</div><!-- fragment -->
774<p class="reference">References <a class="el" href="_utils_8cpp_source.html#l00018">armnn::ConfigureLogging()</a>, and <a class="el" href="namespacearmnn.html#a93a3ba385cad27c4774e5fe64c025d3da882384ec38ce8d9582b57e70861730e4">armnn::Fatal</a>.</p>
775
776</div>
777</div>
778<a id="a10075eca890bd829a87b914c5aa18cb3"></a>
779<h2 class="memtitle"><span class="permalink"><a href="#a10075eca890bd829a87b914c5aa18cb3">&#9670;&nbsp;</a></span>RunTestFunction()</h2>
780
781<div class="memitem">
782<div class="memproto">
783 <table class="memname">
784 <tr>
785 <td class="memname">void RunTestFunction </td>
786 <td>(</td>
787 <td class="paramtype">const char *&#160;</td>
788 <td class="paramname"><em>testName</em>, </td>
789 </tr>
790 <tr>
791 <td class="paramkey"></td>
792 <td></td>
793 <td class="paramtype">TFuncPtr&#160;</td>
794 <td class="paramname"><em>testFunction</em>, </td>
795 </tr>
796 <tr>
797 <td class="paramkey"></td>
798 <td></td>
799 <td class="paramtype">Args...&#160;</td>
800 <td class="paramname"><em>args</em>&#160;</td>
801 </tr>
802 <tr>
803 <td></td>
804 <td>)</td>
805 <td></td><td></td>
806 </tr>
807 </table>
808</div><div class="memdoc">
809
810<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00079">79</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
811<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</div>
812<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; std::unique_ptr&lt;armnn::IProfiler&gt; profiler = std::make_unique&lt;armnn::IProfiler&gt;();</div>
813<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="code" href="classarmnn_1_1_profiler_manager.html#a93857080c2523bf3395e7aa7e6024d5c">armnn::ProfilerManager::GetInstance</a>().<a class="code" href="classarmnn_1_1_profiler_manager.html#a7b1e3e5bf386004541be2b5b22443208">RegisterProfiler</a>(profiler.get());</div>
814<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; </div>
815<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keyword">auto</span> memoryManager = WorkloadFactoryHelper&lt;FactoryType&gt;::GetMemoryManager();</div>
816<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; FactoryType workloadFactory = WorkloadFactoryHelper&lt;FactoryType&gt;::GetFactory(memoryManager);</div>
817<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
818<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keyword">auto</span> testResult = (*testFunction)(workloadFactory, memoryManager, args...);</div>
819<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="code" href="_unit_tests_8hpp.html#acbe506e0365feeed352effe52b1e4852">CompareTestResultIfSupported</a>(testName, testResult);</div>
820<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; </div>
821<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="classarmnn_1_1_profiler_manager.html#a93857080c2523bf3395e7aa7e6024d5c">armnn::ProfilerManager::GetInstance</a>().<a class="code" href="classarmnn_1_1_profiler_manager.html#a7b1e3e5bf386004541be2b5b22443208">RegisterProfiler</a>(<span class="keyword">nullptr</span>);</div>
822<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
823</div><!-- fragment -->
824<p class="reference">References <a class="el" href="_unit_tests_8hpp_source.html#l00043">CompareTestResultIfSupported()</a>, <a class="el" href="_profiling_8cpp_source.html#l00593">ProfilerManager::GetInstance()</a>, and <a class="el" href="_profiling_8cpp_source.html#l00600">ProfilerManager::RegisterProfiler()</a>.</p>
825
826</div>
827</div>
828<a id="ae9222f9685bc46d77397c262858172c3"></a>
829<h2 class="memtitle"><span class="permalink"><a href="#ae9222f9685bc46d77397c262858172c3">&#9670;&nbsp;</a></span>RunTestFunctionUsingTensorHandleFactory()</h2>
830
831<div class="memitem">
832<div class="memproto">
833 <table class="memname">
834 <tr>
835 <td class="memname">void RunTestFunctionUsingTensorHandleFactory </td>
836 <td>(</td>
837 <td class="paramtype">const char *&#160;</td>
838 <td class="paramname"><em>testName</em>, </td>
839 </tr>
840 <tr>
841 <td class="paramkey"></td>
842 <td></td>
843 <td class="paramtype">TFuncPtr&#160;</td>
844 <td class="paramname"><em>testFunction</em>, </td>
845 </tr>
846 <tr>
847 <td class="paramkey"></td>
848 <td></td>
849 <td class="paramtype">Args...&#160;</td>
850 <td class="paramname"><em>args</em>&#160;</td>
851 </tr>
852 <tr>
853 <td></td>
854 <td>)</td>
855 <td></td><td></td>
856 </tr>
857 </table>
858</div><div class="memdoc">
859
860<p class="definition">Definition at line <a class="el" href="_unit_tests_8hpp_source.html#l00095">95</a> of file <a class="el" href="_unit_tests_8hpp_source.html">UnitTests.hpp</a>.</p>
861<div class="fragment"><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;{</div>
862<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; std::unique_ptr&lt;armnn::IProfiler&gt; profiler = std::make_unique&lt;armnn::IProfiler&gt;();</div>
863<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="classarmnn_1_1_profiler_manager.html#a93857080c2523bf3395e7aa7e6024d5c">armnn::ProfilerManager::GetInstance</a>().<a class="code" href="classarmnn_1_1_profiler_manager.html#a7b1e3e5bf386004541be2b5b22443208">RegisterProfiler</a>(profiler.get());</div>
864<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
865<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keyword">auto</span> memoryManager = WorkloadFactoryHelper&lt;FactoryType&gt;::GetMemoryManager();</div>
866<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; FactoryType workloadFactory = WorkloadFactoryHelper&lt;FactoryType&gt;::GetFactory(memoryManager);</div>
867<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; </div>
868<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">auto</span> tensorHandleFactory = WorkloadFactoryHelper&lt;FactoryType&gt;::GetTensorHandleFactory(memoryManager);</div>
869<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; </div>
870<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keyword">auto</span> testResult = (*testFunction)(workloadFactory, memoryManager, tensorHandleFactory, args...);</div>
871<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="_unit_tests_8hpp.html#acbe506e0365feeed352effe52b1e4852">CompareTestResultIfSupported</a>(testName, testResult);</div>
872<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; </div>
873<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="classarmnn_1_1_profiler_manager.html#a93857080c2523bf3395e7aa7e6024d5c">armnn::ProfilerManager::GetInstance</a>().<a class="code" href="classarmnn_1_1_profiler_manager.html#a7b1e3e5bf386004541be2b5b22443208">RegisterProfiler</a>(<span class="keyword">nullptr</span>);</div>
874<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div>
875</div><!-- fragment -->
876<p class="reference">References <a class="el" href="_unit_tests_8hpp_source.html#l00043">CompareTestResultIfSupported()</a>, <a class="el" href="_profiling_8cpp_source.html#l00593">ProfilerManager::GetInstance()</a>, and <a class="el" href="_profiling_8cpp_source.html#l00600">ProfilerManager::RegisterProfiler()</a>.</p>
877
878</div>
879</div>
880</div><!-- contents -->
881</div><!-- doc-content -->
882<div class="ttc" id="aclassarmnn_1_1_profiler_manager_html_a7b1e3e5bf386004541be2b5b22443208"><div class="ttname"><a href="classarmnn_1_1_profiler_manager.html#a7b1e3e5bf386004541be2b5b22443208">armnn::ProfilerManager::RegisterProfiler</a></div><div class="ttdeci">void RegisterProfiler(IProfiler *profiler)</div><div class="ttdef"><b>Definition:</b> <a href="_profiling_8cpp_source.html#l00600">Profiling.cpp:600</a></div></div>
883<div class="ttc" id="anamespacearmnn_html_aa59f7a819c3e29d10ffc41e5c0616872"><div class="ttname"><a href="namespacearmnn.html#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.html#l00018">Utils.cpp:18</a></div></div>
884<div class="ttc" id="aclassarmnn_1_1_ref_workload_factory_html"><div class="ttname"><a href="classarmnn_1_1_ref_workload_factory.html">armnn::RefWorkloadFactory</a></div><div class="ttdef"><b>Definition:</b> <a href="_ref_workload_factory_8hpp_source.html#l00027">RefWorkloadFactory.hpp:27</a></div></div>
885<div class="ttc" id="anamespacearmnn_html_a93a3ba385cad27c4774e5fe64c025d3da882384ec38ce8d9582b57e70861730e4"><div class="ttname"><a href="namespacearmnn.html#a93a3ba385cad27c4774e5fe64c025d3da882384ec38ce8d9582b57e70861730e4">armnn::LogSeverity::Fatal</a></div><div class="ttdeci">@ Fatal</div></div>
886<div class="ttc" id="aclassarmnn_1_1_profiler_manager_html_a93857080c2523bf3395e7aa7e6024d5c"><div class="ttname"><a href="classarmnn_1_1_profiler_manager.html#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.html#l00593">Profiling.cpp:593</a></div></div>
887<div class="ttc" id="a_unit_tests_8hpp_html_acbe506e0365feeed352effe52b1e4852"><div class="ttname"><a href="_unit_tests_8hpp.html#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 CHECK_MESSAGE on CompareTensors() return value so that the predicate_result message is repor...</div><div class="ttdef"><b>Definition:</b> <a href="_unit_tests_8hpp_source.html#l00043">UnitTests.hpp:43</a></div></div>
888<!-- start footer part -->
889<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
890 <ul>
891 <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_f574f3650e467f7ec35d628d20229555.html">armnnTestUtils</a></li><li class="navelem"><a class="el" href="_unit_tests_8hpp.html">UnitTests.hpp</a></li>
892 <li class="footer">Generated on Wed Feb 14 2024 16:36:18 for Arm NN by
893 <a href="http://www.doxygen.org/index.html">
894 <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
895 </ul>
896</div>
897</body>
898</html>