ArmNN
 22.02
RefMemoryManagerTests.cpp File Reference
#include <reference/RefMemoryManager.hpp>
#include <doctest/doctest.h>

Go to the source code of this file.

Functions

 TEST_SUITE ("RefMemoryManagerTests")
 

Function Documentation

◆ TEST_SUITE()

TEST_SUITE ( "RefMemoryManagerTests"  )

Definition at line 10 of file RefMemoryManagerTests.cpp.

References RefMemoryManager::Acquire(), RefMemoryManager::GetPointer(), RefMemoryManager::Manage(), and RefMemoryManager::Release().

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)
void * GetPointer(Pool *pool)