• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
6 #include <reference/RefMemoryManager.hpp>
7 
8 #include <boost/test/unit_test.hpp>
9 
10 BOOST_AUTO_TEST_SUITE(RefMemoryManagerTests)
11 using namespace armnn;
12 using Pool = RefMemoryManager::Pool;
13 
BOOST_AUTO_TEST_CASE(ManageOneThing)14 BOOST_AUTO_TEST_CASE(ManageOneThing)
15 {
16     RefMemoryManager memoryManager;
17 
18     Pool* pool = memoryManager.Manage(10);
19 
20     BOOST_CHECK(pool);
21 
22     memoryManager.Acquire();
23 
24     BOOST_CHECK(memoryManager.GetPointer(pool) != nullptr); // Yields a valid pointer
25 
26     memoryManager.Release();
27 }
28 
BOOST_AUTO_TEST_CASE(ManageTwoThings)29 BOOST_AUTO_TEST_CASE(ManageTwoThings)
30 {
31     RefMemoryManager memoryManager;
32 
33     Pool* pool1 = memoryManager.Manage(10);
34     Pool* pool2 = memoryManager.Manage(5);
35 
36     BOOST_CHECK(pool1);
37     BOOST_CHECK(pool2);
38 
39     memoryManager.Acquire();
40 
41     void *p1 = memoryManager.GetPointer(pool1);
42     void *p2 = memoryManager.GetPointer(pool2);
43 
44     BOOST_CHECK(p1);
45     BOOST_CHECK(p2);
46     BOOST_CHECK(p1 != p2);
47 
48     memoryManager.Release();
49 }
50 
51 BOOST_AUTO_TEST_SUITE_END()
52