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)14BOOST_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)29BOOST_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