ArmNN
 22.02
RefMemoryManagerTests.cpp
Go to the documentation of this file.
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 
7 
8 #include <doctest/doctest.h>
9 
10 TEST_SUITE("RefMemoryManagerTests")
11 {
12 using namespace armnn;
13 using Pool = RefMemoryManager::Pool;
14 
15 TEST_CASE("ManageOneThing")
16 {
17  RefMemoryManager memoryManager;
18 
19  Pool* pool = memoryManager.Manage(10);
20 
21  CHECK(pool);
22 
23  memoryManager.Acquire();
24 
25  CHECK(memoryManager.GetPointer(pool) != nullptr); // Yields a valid pointer
26 
27  memoryManager.Release();
28 }
29 
30 TEST_CASE("ManageTwoThings")
31 {
32  RefMemoryManager memoryManager;
33 
34  Pool* pool1 = memoryManager.Manage(10);
35  Pool* pool2 = memoryManager.Manage(5);
36 
37  CHECK(pool1);
38  CHECK(pool2);
39 
40  memoryManager.Acquire();
41 
42  void *p1 = memoryManager.GetPointer(pool1);
43  void *p2 = memoryManager.GetPointer(pool2);
44 
45  CHECK(p1);
46  CHECK(p2);
47  CHECK(p1 != p2);
48 
49  memoryManager.Release();
50 }
51 
52 }
Copyright (c) 2021 ARM Limited and Contributors.
Pool * Manage(unsigned int numBytes)
TEST_SUITE("RefMemoryManagerTests")
void * GetPointer(Pool *pool)