ArmNN
 22.08
TestDynamicBackend.cpp File Reference

Go to the source code of this file.

Functions

constexpr const char * TestDynamicBackendId ()
 
const char * GetBackendId ()
 
void GetVersion (uint32_t *outMajor, uint32_t *outMinor)
 
void * BackendFactory ()
 

Function Documentation

◆ BackendFactory()

void* BackendFactory ( )

Definition at line 128 of file TestDynamicBackend.cpp.

129 {
130 #if defined(INVALID_TEST_DYNAMIC_BACKEND_6)
131 
132  // Return an invalid backend instance
133  return nullptr;
134 
135 #else
136 
137  // Return a non-null backend instance
138  return new TestDynamicBackend();
139 
140 #endif
141 }

◆ GetBackendId()

const char* GetBackendId ( )

Definition at line 80 of file TestDynamicBackend.cpp.

Referenced by TEST_SUITE(), and MockWorkloadFactory::~MockWorkloadFactory().

81 {
82 #if defined(INVALID_TEST_DYNAMIC_BACKEND_5) || \
83  defined(INVALID_TEST_DYNAMIC_BACKEND_8)
84 
85  // Return an invalid backend id
86  return nullptr;
87 
88 #else
89 
90  // Return a valid backend id
91  return TestDynamicBackendId();
92 
93 #endif
94 }
constexpr const char * TestDynamicBackendId()

◆ GetVersion()

void GetVersion ( uint32_t *  outMajor,
uint32_t *  outMinor 
)

Definition at line 96 of file TestDynamicBackend.cpp.

97 {
98  if (!outMajor || !outMinor)
99  {
100  return;
101  }
102 
103 #if defined(INVALID_TEST_DYNAMIC_BACKEND_7) || \
104  defined(INVALID_TEST_DYNAMIC_BACKEND_8)
105 
106  *outMajor = 0;
107  *outMinor = 7;
108 
109 #else
110 
112 
113  *outMajor = apiVersion.m_Major;
114 
115 #if defined(INVALID_TEST_DYNAMIC_BACKEND_9)
116 
117  *outMinor = apiVersion.m_Minor + 1;
118 
119 #else
120 
121  *outMinor = apiVersion.m_Minor;
122 
123 #endif
124 
125 #endif
126 }
static constexpr BackendVersion GetApiVersion()
Returns the version of the Backend API.

◆ TestDynamicBackendId()

constexpr const char* TestDynamicBackendId ( )

Definition at line 12 of file TestDynamicBackend.cpp.

References IBackendInternal::CreateWorkloadFactory(), IBackend::GetId(), IBackendInternal::GetLayerSupport(), and armnn::IgnoreUnused().

Referenced by GetBackendId().

13 {
14 #if defined(VALID_TEST_DYNAMIC_BACKEND_1)
15 
16  return "ValidTestDynamicBackend";
17 
18 #elif defined(VALID_TEST_DYNAMIC_BACKEND_2) || \
19  defined(VALID_TEST_DYNAMIC_BACKEND_4) || \
20  defined(INVALID_TEST_DYNAMIC_BACKEND_9)
21 
22  // This backend id is shared among different test dynamic backends for testing purposes:
23  // the test dynamic backend 4 is actually a duplicate of the test dynamic backend 2 (with the same version),
24  // the test dynamic backend 9 is actually a duplicate of the test dynamic backend 2 (but with a version
25  // incompatible with the current Backend API)
26  return "TestValid2";
27 
28 #elif defined(VALID_TEST_DYNAMIC_BACKEND_3)
29 
30  // The test dynamic backend 3 is a different backend than the test dynamic backend 2
31  return "TestValid3";
32 
33 #elif defined(VALID_TEST_DYNAMIC_BACKEND_5)
34 
35  // The test dynamic backend 5 is a different backend than the test dynamic backend 2
36  return "TestValid5";
37 
38 #elif defined(INVALID_TEST_DYNAMIC_BACKEND_10)
39 
40  // Empty backend id
41  return "";
42 
43 #elif defined(INVALID_TEST_DYNAMIC_BACKEND_11)
44 
45  // "Unknown" backend id, "Unknown" is a reserved id in ArmNN
46  return "Unknown";
47 
48 #else
49 
50  return "InvalidTestDynamicBackend";
51 
52 #endif
53 }