blob: 53e52b5b5b36d6216438c335333ee37dfc4c6169 [file] [log] [blame]
Sadik Armagan7bbdf9d2019-10-24 10:26:05 +01001//
2// Copyright © 2019 Arm Ltd. All rights reserved.
3// SPDX-License-Identifier: MIT
4//
5
6#include "SendCounterPacketTests.hpp"
7
8#include <BufferManager.hpp>
Jim Flynn00f3aaf2019-10-24 11:58:06 +01009#include <ProfilingService.hpp>
Sadik Armagan7bbdf9d2019-10-24 10:26:05 +010010#include <ProfilingUtils.hpp>
11#include <SendTimelinePacket.hpp>
12#include <TimelinePacketWriterFactory.hpp>
13
14#include <boost/test/unit_test.hpp>
Jim Flynnab845752019-10-25 13:17:30 +010015#include <LabelsAndEventClasses.hpp>
16
17#include <functional>
Sadik Armagan7bbdf9d2019-10-24 10:26:05 +010018
19using namespace armnn::profiling;
20
21BOOST_AUTO_TEST_SUITE(SendTimelinePacketTests)
22
23BOOST_AUTO_TEST_CASE(SendTimelineMessageDirectoryPackageTest)
24{
25 MockBufferManager mockBuffer(512);
26 TimelinePacketWriterFactory timelinePacketWriterFactory(mockBuffer);
27 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.GetSendTimelinePacket();
28
29 sendTimelinePacket->SendTimelineMessageDirectoryPackage();
30
31 // Get the readable buffer
32 auto packetBuffer = mockBuffer.GetReadableBuffer();
33
34 unsigned int uint32_t_size = sizeof(uint32_t);
35 // Check the packet header
36 unsigned int offset = 0;
37 uint32_t packetHeaderWord0 = ReadUint32(packetBuffer, offset);
38 uint32_t packetFamily = (packetHeaderWord0 >> 26) & 0x0000003F;
39 uint32_t packetClass = (packetHeaderWord0 >> 19) & 0x0000007F;
40 uint32_t packetType = (packetHeaderWord0 >> 16) & 0x00000007;
41 uint32_t streamId = (packetHeaderWord0 >> 0) & 0x00000007;
42
43 BOOST_CHECK(packetFamily == 1);
44 BOOST_CHECK(packetClass == 0);
45 BOOST_CHECK(packetType == 0);
46 BOOST_CHECK(streamId == 0);
47
48 offset += uint32_t_size;
49 uint32_t packetHeaderWord1 = ReadUint32(packetBuffer, offset);
50 uint32_t sequenceNumbered = (packetHeaderWord1 >> 24) & 0x00000001;
51 uint32_t dataLength = (packetHeaderWord1 >> 0) & 0x00FFFFFF;
52 BOOST_CHECK(sequenceNumbered == 0);
53 BOOST_CHECK(dataLength == 416);
54
55 offset += uint32_t_size;
56 SwTraceMessage swTraceMessage = ReadSwTraceMessage(packetBuffer, offset);
57
58 BOOST_CHECK(swTraceMessage.id == 0);
59 BOOST_CHECK(swTraceMessage.name == "declareLabel");
60 BOOST_CHECK(swTraceMessage.uiName == "declare label");
61 BOOST_CHECK(swTraceMessage.argTypes.size() == 2);
62 BOOST_CHECK(swTraceMessage.argTypes[0] == 'p');
63 BOOST_CHECK(swTraceMessage.argTypes[1] == 's');
64 BOOST_CHECK(swTraceMessage.argNames.size() == 2);
65 BOOST_CHECK(swTraceMessage.argNames[0] == "guid");
66 BOOST_CHECK(swTraceMessage.argNames[1] == "value");
67
68 swTraceMessage = ReadSwTraceMessage(packetBuffer, offset);
69
70 BOOST_CHECK(swTraceMessage.id == 1);
71 BOOST_CHECK(swTraceMessage.name == "declareEntity");
72 BOOST_CHECK(swTraceMessage.uiName == "declare entity");
73 BOOST_CHECK(swTraceMessage.argTypes.size() == 1);
74 BOOST_CHECK(swTraceMessage.argTypes[0] == 'p');
75 BOOST_CHECK(swTraceMessage.argNames.size() == 1);
76 BOOST_CHECK(swTraceMessage.argNames[0] == "guid");
77
78 swTraceMessage = ReadSwTraceMessage(packetBuffer, offset);
79
80 BOOST_CHECK(swTraceMessage.id == 2);
81 BOOST_CHECK(swTraceMessage.name == "declareEventClass");
82 BOOST_CHECK(swTraceMessage.uiName == "declare event class");
83 BOOST_CHECK(swTraceMessage.argTypes.size() == 1);
84 BOOST_CHECK(swTraceMessage.argTypes[0] == 'p');
85 BOOST_CHECK(swTraceMessage.argNames.size() == 1);
86 BOOST_CHECK(swTraceMessage.argNames[0] == "guid");
87
88 swTraceMessage = ReadSwTraceMessage(packetBuffer, offset);
89
90 BOOST_CHECK(swTraceMessage.id == 3);
91 BOOST_CHECK(swTraceMessage.name == "declareRelationship");
92 BOOST_CHECK(swTraceMessage.uiName == "declare relationship");
93 BOOST_CHECK(swTraceMessage.argTypes.size() == 4);
94 BOOST_CHECK(swTraceMessage.argTypes[0] == 'I');
95 BOOST_CHECK(swTraceMessage.argTypes[1] == 'p');
96 BOOST_CHECK(swTraceMessage.argTypes[2] == 'p');
97 BOOST_CHECK(swTraceMessage.argTypes[3] == 'p');
98 BOOST_CHECK(swTraceMessage.argNames.size() == 4);
99 BOOST_CHECK(swTraceMessage.argNames[0] == "relationshipType");
100 BOOST_CHECK(swTraceMessage.argNames[1] == "relationshipGuid");
101 BOOST_CHECK(swTraceMessage.argNames[2] == "headGuid");
102 BOOST_CHECK(swTraceMessage.argNames[3] == "tailGuid");
103
104 swTraceMessage = ReadSwTraceMessage(packetBuffer, offset);
105
106 BOOST_CHECK(swTraceMessage.id == 4);
107 BOOST_CHECK(swTraceMessage.name == "declareEvent");
108 BOOST_CHECK(swTraceMessage.uiName == "declare event");
109 BOOST_CHECK(swTraceMessage.argTypes.size() == 3);
110 BOOST_CHECK(swTraceMessage.argTypes[0] == '@');
111 BOOST_CHECK(swTraceMessage.argTypes[1] == 't');
112 BOOST_CHECK(swTraceMessage.argTypes[2] == 'p');
113 BOOST_CHECK(swTraceMessage.argNames.size() == 3);
114 BOOST_CHECK(swTraceMessage.argNames[0] == "timestamp");
115 BOOST_CHECK(swTraceMessage.argNames[1] == "threadId");
116 BOOST_CHECK(swTraceMessage.argNames[2] == "eventGuid");
117}
118
119BOOST_AUTO_TEST_CASE(SendTimelineEntityPlusEventClassBinaryPacketTest)
120{
121 MockBufferManager bufferManager(40);
122 TimelinePacketWriterFactory timelinePacketWriterFactory(bufferManager);
123 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.GetSendTimelinePacket();
124
125 const uint64_t entityBinaryPacketProfilingGuid = 123456u;
126 sendTimelinePacket->SendTimelineEntityBinaryPacket(entityBinaryPacketProfilingGuid);
127
128 const uint64_t eventClassBinaryPacketProfilingGuid = 789123u;
129 sendTimelinePacket->SendTimelineEventClassBinaryPacket(eventClassBinaryPacketProfilingGuid);
130
131 // Commit the messages
132 sendTimelinePacket->Commit();
133
134 // Get the readable buffer
135 auto packetBuffer = bufferManager.GetReadableBuffer();
136
137 unsigned int uint32_t_size = sizeof(uint32_t);
138 unsigned int uint64_t_size = sizeof(uint64_t);
139
140 // Check the packet header
141 unsigned int offset = 0;
142
143 // Reading TimelineEntityClassBinaryPacket
144 uint32_t entityBinaryPacketHeaderWord0 = ReadUint32(packetBuffer, offset);
145 uint32_t entityBinaryPacketFamily = (entityBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
146 uint32_t entityBinaryPacketClass = (entityBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
147 uint32_t entityBinaryPacketType = (entityBinaryPacketHeaderWord0 >> 16) & 0x00000007;
148 uint32_t entityBinaryPacketStreamId = (entityBinaryPacketHeaderWord0 >> 0) & 0x00000007;
149
150 BOOST_CHECK(entityBinaryPacketFamily == 1);
151 BOOST_CHECK(entityBinaryPacketClass == 0);
152 BOOST_CHECK(entityBinaryPacketType == 1);
153 BOOST_CHECK(entityBinaryPacketStreamId == 0);
154
155 offset += uint32_t_size;
156 uint32_t entityBinaryPacketHeaderWord1 = ReadUint32(packetBuffer, offset);
157 uint32_t entityBinaryPacketSequenceNumbered = (entityBinaryPacketHeaderWord1 >> 24) & 0x00000001;
158 uint32_t entityBinaryPacketDataLength = (entityBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
159 BOOST_CHECK(entityBinaryPacketSequenceNumbered == 0);
160 BOOST_CHECK(entityBinaryPacketDataLength == 8);
161
162 // Check the decl_id
163 offset += uint32_t_size;
164 uint32_t entitytDecId = ReadUint32(packetBuffer, offset);
165
166 BOOST_CHECK(entitytDecId == uint32_t(1));
167
168 // Check the profiling GUID
169 offset += uint32_t_size;
170 uint64_t readProfilingGuid = ReadUint64(packetBuffer, offset);
171
172 BOOST_CHECK(readProfilingGuid == entityBinaryPacketProfilingGuid);
173
174 // Reading TimelineEventClassBinaryPacket
175 offset += uint64_t_size;
176 uint32_t eventClassBinaryPacketHeaderWord0 = ReadUint32(packetBuffer, offset);
177 uint32_t eventClassBinaryPacketFamily = (eventClassBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
178 uint32_t eventClassBinaryPacketClass = (eventClassBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
179 uint32_t eventClassBinaryPacketType = (eventClassBinaryPacketHeaderWord0 >> 16) & 0x00000007;
180 uint32_t eventClassBinaryPacketStreamId = (eventClassBinaryPacketHeaderWord0 >> 0) & 0x00000007;
181
182 BOOST_CHECK(eventClassBinaryPacketFamily == 1);
183 BOOST_CHECK(eventClassBinaryPacketClass == 0);
184 BOOST_CHECK(eventClassBinaryPacketType == 1);
185 BOOST_CHECK(eventClassBinaryPacketStreamId == 0);
186
187 offset += uint32_t_size;
188 uint32_t eventClassBinaryPacketHeaderWord1 = ReadUint32(packetBuffer, offset);
189 uint32_t eventClassBinaryPacketSequenceNumbered = (eventClassBinaryPacketHeaderWord1 >> 24) & 0x00000001;
190 uint32_t eventClassBinaryPacketDataLength = (eventClassBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
191 BOOST_CHECK(eventClassBinaryPacketSequenceNumbered == 0);
192 BOOST_CHECK(eventClassBinaryPacketDataLength == 12);
193
194 offset += uint32_t_size;
195 uint32_t eventClassDeclId = ReadUint32(packetBuffer, offset);
196 BOOST_CHECK(eventClassDeclId == uint32_t(2));
197
198 // Check the profiling GUID
199 offset += uint32_t_size;
200 readProfilingGuid = ReadUint64(packetBuffer, offset);
201 BOOST_CHECK(readProfilingGuid == eventClassBinaryPacketProfilingGuid);
202
203 bufferManager.MarkRead(packetBuffer);
204}
205
206BOOST_AUTO_TEST_CASE(SendTimelinePacketTests1)
207{
208 unsigned int uint32_t_size = sizeof(uint32_t);
209 unsigned int uint64_t_size = sizeof(uint64_t);
210
211 MockBufferManager bufferManager(512);
212 TimelinePacketWriterFactory timelinePacketWriterFactory(bufferManager);
213 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.GetSendTimelinePacket();
214
215 // Send TimelineEntityClassBinaryPacket
216 const uint64_t entityBinaryPacketProfilingGuid = 123456u;
217 sendTimelinePacket->SendTimelineEntityBinaryPacket(entityBinaryPacketProfilingGuid);
218
219 // Commit the buffer
220 sendTimelinePacket->Commit();
221
222 // Get the readable buffer
223 auto packetBuffer = bufferManager.GetReadableBuffer();
224
225 // Check the packet header
226 unsigned int offset = 0;
227
228 // Reading TimelineEntityClassBinaryPacket
229 uint32_t entityBinaryPacketHeaderWord0 = ReadUint32(packetBuffer, offset);
230 uint32_t entityBinaryPacketFamily = (entityBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
231 uint32_t entityBinaryPacketClass = (entityBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
232 uint32_t entityBinaryPacketType = (entityBinaryPacketHeaderWord0 >> 16) & 0x00000007;
233 uint32_t entityBinaryPacketStreamId = (entityBinaryPacketHeaderWord0 >> 0) & 0x00000007;
234
235 BOOST_CHECK(entityBinaryPacketFamily == 1);
236 BOOST_CHECK(entityBinaryPacketClass == 0);
237 BOOST_CHECK(entityBinaryPacketType == 1);
238 BOOST_CHECK(entityBinaryPacketStreamId == 0);
239
240 offset += uint32_t_size;
241 uint32_t entityBinaryPacketHeaderWord1 = ReadUint32(packetBuffer, offset);
242 uint32_t entityBinaryPacketSequenceNumbered = (entityBinaryPacketHeaderWord1 >> 24) & 0x00000001;
243 uint32_t entityBinaryPacketDataLength = (entityBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
244 BOOST_CHECK(entityBinaryPacketSequenceNumbered == 0);
245 BOOST_CHECK(entityBinaryPacketDataLength == 8);
246
247 // Check the decl_id
248 offset += uint32_t_size;
249 uint32_t entitytDecId = ReadUint32(packetBuffer, offset);
250
251 BOOST_CHECK(entitytDecId == uint32_t(1));
252
253 // Check the profiling GUID
254 offset += uint32_t_size;
255 uint64_t readProfilingGuid = ReadUint64(packetBuffer, offset);
256
257 BOOST_CHECK(readProfilingGuid == entityBinaryPacketProfilingGuid);
258
259 bufferManager.MarkRead(packetBuffer);
260
261 // Send TimelineEventClassBinaryPacket
262 const uint64_t eventClassBinaryPacketProfilingGuid = 789123u;
263 sendTimelinePacket->SendTimelineEventClassBinaryPacket(eventClassBinaryPacketProfilingGuid);
264
265 // Commit the buffer
266 sendTimelinePacket->Commit();
267
268 // Get the readable buffer
269 packetBuffer = bufferManager.GetReadableBuffer();
270
271 // Check the packet header
272 offset = 0;
273
274 // Reading TimelineEventClassBinaryPacket
275 uint32_t eventClassBinaryPacketHeaderWord0 = ReadUint32(packetBuffer, offset);
276 uint32_t eventClassBinaryPacketFamily = (eventClassBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
277 uint32_t eventClassBinaryPacketClass = (eventClassBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
278 uint32_t eventClassBinaryPacketType = (eventClassBinaryPacketHeaderWord0 >> 16) & 0x00000007;
279 uint32_t eventClassBinaryPacketStreamId = (eventClassBinaryPacketHeaderWord0 >> 0) & 0x00000007;
280
281 BOOST_CHECK(eventClassBinaryPacketFamily == 1);
282 BOOST_CHECK(eventClassBinaryPacketClass == 0);
283 BOOST_CHECK(eventClassBinaryPacketType == 1);
284 BOOST_CHECK(eventClassBinaryPacketStreamId == 0);
285
286 offset += uint32_t_size;
287 uint32_t eventClassBinaryPacketHeaderWord1 = ReadUint32(packetBuffer, offset);
288 uint32_t eventClassBinaryPacketSequenceNumbered = (eventClassBinaryPacketHeaderWord1 >> 24) & 0x00000001;
289 uint32_t eventClassBinaryPacketDataLength = (eventClassBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
290 BOOST_CHECK(eventClassBinaryPacketSequenceNumbered == 0);
291 BOOST_CHECK(eventClassBinaryPacketDataLength == 12);
292
293 offset += uint32_t_size;
294 uint32_t eventClassDeclId = ReadUint32(packetBuffer, offset);
295 BOOST_CHECK(eventClassDeclId == uint32_t(2));
296
297 // Check the profiling GUID
298 offset += uint32_t_size;
299 readProfilingGuid = ReadUint64(packetBuffer, offset);
300 BOOST_CHECK(readProfilingGuid == eventClassBinaryPacketProfilingGuid);
301
302 bufferManager.MarkRead(packetBuffer);
303
304 // Send TimelineEventBinaryPacket
305 const uint64_t timestamp = 456789u;
306 const uint32_t threadId = 654321u;
307 const uint64_t eventProfilingGuid = 123456u;
308 sendTimelinePacket->SendTimelineEventBinaryPacket(timestamp, threadId, eventProfilingGuid);
309
310 // Commit the buffer
311 sendTimelinePacket->Commit();
312
313 // Get the readable buffer
314 packetBuffer = bufferManager.GetReadableBuffer();
315
316 // Check the packet header
317 offset = 0;
318
319 // Reading TimelineEventBinaryPacket
320 uint32_t eventBinaryPacketHeaderWord0 = ReadUint32(packetBuffer, offset);
321 uint32_t eventBinaryPacketFamily = (eventBinaryPacketHeaderWord0 >> 26) & 0x0000003F;
322 uint32_t eventBinaryPacketClass = (eventBinaryPacketHeaderWord0 >> 19) & 0x0000007F;
323 uint32_t eventBinaryPacketType = (eventBinaryPacketHeaderWord0 >> 16) & 0x00000007;
324 uint32_t eventBinaryPacketStreamId = (eventBinaryPacketHeaderWord0 >> 0) & 0x00000007;
325
326 BOOST_CHECK(eventBinaryPacketFamily == 1);
327 BOOST_CHECK(eventBinaryPacketClass == 0);
328 BOOST_CHECK(eventBinaryPacketType == 1);
329 BOOST_CHECK(eventBinaryPacketStreamId == 0);
330
331 offset += uint32_t_size;
332 uint32_t eventBinaryPacketHeaderWord1 = ReadUint32(packetBuffer, offset);
333 uint32_t eventBinaryPacketSequenceNumbered = (eventBinaryPacketHeaderWord1 >> 24) & 0x00000001;
334 uint32_t eventBinaryPacketDataLength = (eventBinaryPacketHeaderWord1 >> 0) & 0x00FFFFFF;
335 BOOST_CHECK(eventBinaryPacketSequenceNumbered == 0);
336 BOOST_CHECK(eventBinaryPacketDataLength == 24);
337
338 // Check the decl_id
339 offset += uint32_t_size;
340 uint32_t eventDeclId = ReadUint32(packetBuffer, offset);
341 BOOST_CHECK(eventDeclId == 4);
342
343 // Check the timestamp
344 offset += uint32_t_size;
345 uint64_t eventTimestamp = ReadUint64(packetBuffer, offset);
346 BOOST_CHECK(eventTimestamp == timestamp);
347
348 // Check the thread id
349 offset += uint64_t_size;
350 uint32_t readThreadId = ReadUint32(packetBuffer, offset);
351 BOOST_CHECK(readThreadId == threadId);
352
353 // Check the profiling GUID
354 offset += uint32_t_size;
355 readProfilingGuid = ReadUint64(packetBuffer, offset);
356 BOOST_CHECK(readProfilingGuid == eventProfilingGuid);
357}
358
359BOOST_AUTO_TEST_CASE(SendTimelinePacketTests2)
360{
361 MockBufferManager bufferManager(40);
362 TimelinePacketWriterFactory timelinePacketWriterFactory(bufferManager);
363 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.GetSendTimelinePacket();
364
365 BOOST_CHECK_THROW(sendTimelinePacket->SendTimelineMessageDirectoryPackage(),
366 armnn::RuntimeException);
367}
368
369BOOST_AUTO_TEST_CASE(SendTimelinePacketTests3)
370{
371 MockBufferManager bufferManager(512);
372 TimelinePacketWriterFactory timelinePacketWriterFactory(bufferManager);
373 std::unique_ptr<ISendTimelinePacket> sendTimelinePacket = timelinePacketWriterFactory.GetSendTimelinePacket();
374
375 // Send TimelineEntityClassBinaryPacket
376 const uint64_t entityBinaryPacketProfilingGuid = 123456u;
377 sendTimelinePacket->SendTimelineEntityBinaryPacket(entityBinaryPacketProfilingGuid);
378
379 // Commit the buffer
380 sendTimelinePacket->Commit();
381
382 // Get the readable buffer
383 auto packetBuffer = bufferManager.GetReadableBuffer();
384
385 // Send TimelineEventClassBinaryPacket
386 const uint64_t eventClassBinaryPacketProfilingGuid = 789123u;
387 BOOST_CHECK_THROW(sendTimelinePacket->SendTimelineEventClassBinaryPacket(eventClassBinaryPacketProfilingGuid),
388 armnn::RuntimeException);
389}
390
Jim Flynn00f3aaf2019-10-24 11:58:06 +0100391BOOST_AUTO_TEST_CASE(GetGuidsFromProfilingService)
392{
393 armnn::Runtime::CreationOptions::ExternalProfilingOptions options;
394 options.m_EnableProfiling = true;
395 ProfilingService& profilingService = ProfilingService::Instance();
396 profilingService.ResetExternalProfilingOptions(options, true);
397 ProfilingStaticGuid staticGuid = profilingService.GenerateStaticId("dummy");
Jim Flynnab845752019-10-25 13:17:30 +0100398 // TODO this will change again...
399 std::hash<std::string> hasher;
400 uint64_t hash = static_cast<uint64_t>(hasher("dummy"));
401 ProfilingStaticGuid expectedStaticValue(hash);
Jim Flynn00f3aaf2019-10-24 11:58:06 +0100402 BOOST_CHECK(staticGuid == expectedStaticValue);
403 ProfilingDynamicGuid dynamicGuid = profilingService.NextGuid();
Jim Flynnab845752019-10-25 13:17:30 +0100404 uint64_t dynamicGuidValue = static_cast<uint64_t>(dynamicGuid);
405 ++dynamicGuidValue;
406 ProfilingDynamicGuid expectedDynamicValue(dynamicGuidValue);
407 dynamicGuid = profilingService.NextGuid();
Jim Flynn00f3aaf2019-10-24 11:58:06 +0100408 BOOST_CHECK(dynamicGuid == expectedDynamicValue);
409}
410
Jim Flynn8b200652019-10-24 18:07:44 +0100411BOOST_AUTO_TEST_CASE(GetTimelinePackerWriterFromProfilingService)
412{
413 armnn::Runtime::CreationOptions::ExternalProfilingOptions options;
414 options.m_EnableProfiling = true;
415 ProfilingService& profilingService = ProfilingService::Instance();
416 profilingService.ResetExternalProfilingOptions(options, true);
417
418 std::unique_ptr<ISendTimelinePacket> writer = profilingService.GetSendTimelinePacket();
419 BOOST_CHECK(writer != nullptr);
420}
421
Jim Flynnab845752019-10-25 13:17:30 +0100422BOOST_AUTO_TEST_CASE(CheckStaticGuidsAndEvents)
423{
424 BOOST_CHECK("name" == LabelsAndEventClasses::NAME_LABEL);
425 BOOST_CHECK("type" == LabelsAndEventClasses::TYPE_LABEL);
426 BOOST_CHECK("index" == LabelsAndEventClasses::INDEX_LABEL);
427
428 std::hash<std::string> hasher;
429
430 uint64_t hash = static_cast<uint64_t>(hasher(LabelsAndEventClasses::NAME_LABEL));
431 ProfilingStaticGuid expectedNameGuid(hash);
432 BOOST_CHECK(LabelsAndEventClasses::NAME_GUID == expectedNameGuid);
433
434 hash = static_cast<uint64_t>(hasher(LabelsAndEventClasses::TYPE_LABEL));
435 ProfilingStaticGuid expectedTypeGuid(hash);
436 BOOST_CHECK(LabelsAndEventClasses::TYPE_GUID == expectedTypeGuid);
437
438 hash = static_cast<uint64_t>(hasher(LabelsAndEventClasses::INDEX_LABEL));
439 ProfilingStaticGuid expectedIndexGuid(hash);
440 BOOST_CHECK(LabelsAndEventClasses::INDEX_GUID == expectedIndexGuid);
441
442 hash = static_cast<uint64_t>(hasher("ARMNN_PROFILING_SOL"));
443 ProfilingStaticGuid expectedSol(hash);
444 BOOST_CHECK(LabelsAndEventClasses::ARMNN_PROFILING_SOL_EVENT_CLASS == expectedSol);
445
446 hash = static_cast<uint64_t>(hasher("ARMNN_PROFILING_EOL"));
447 ProfilingStaticGuid expectedEol(hash);
448 BOOST_CHECK(LabelsAndEventClasses::ARMNN_PROFILING_EOL_EVENT_CLASS == expectedEol);
449}
450
Sadik Armagan7bbdf9d2019-10-24 10:26:05 +0100451BOOST_AUTO_TEST_SUITE_END()