diff options
author | FinnWilliamsArm <Finn.Williams@arm.com> | 2019-09-16 12:06:47 +0100 |
---|---|---|
committer | finn.williams <finn.williams@arm.com> | 2019-09-16 14:17:03 +0000 |
commit | a0c7871cf140d1e9cf59a213626ee534c0122c7f (patch) | |
tree | 4f284b6d35a12ea7c471fe3a25682bbac73b4839 /src/profiling/test | |
parent | 027e8b055396816dbb1d78d7c963d5d0af1a9e98 (diff) | |
download | armnn-a0c7871cf140d1e9cf59a213626ee534c0122c7f.tar.gz |
IVGCVSW-3826: Implement IProfiling functions
!armnn:1814
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Signed-off-by: FinnWilliamsArm <Finn.Williams@arm.com>
Change-Id: I82c7453d7969880e321572637adc0fb9c0e5fd7b
Diffstat (limited to 'src/profiling/test')
-rw-r--r-- | src/profiling/test/ProfilingTests.cpp | 81 |
1 files changed, 55 insertions, 26 deletions
diff --git a/src/profiling/test/ProfilingTests.cpp b/src/profiling/test/ProfilingTests.cpp index 4913dde6ee..55524a4dfe 100644 --- a/src/profiling/test/ProfilingTests.cpp +++ b/src/profiling/test/ProfilingTests.cpp @@ -114,21 +114,39 @@ BOOST_AUTO_TEST_CASE(CheckEncodeVersion) BOOST_AUTO_TEST_CASE(CheckPacketClass) { - const char* data = "test"; - unsigned int length = static_cast<unsigned int>(std::strlen(data)); - - Packet packetTest1(472580096,length,data); - BOOST_CHECK_THROW(Packet packetTest2(472580096,0,""), armnn::Exception); - - Packet packetTest3(472580096,0, nullptr); - - BOOST_CHECK(packetTest1.GetLength() == length); - BOOST_CHECK(packetTest1.GetData() == data); - - BOOST_CHECK(packetTest1.GetPacketFamily() == 7); - BOOST_CHECK(packetTest1.GetPacketId() == 43); - BOOST_CHECK(packetTest1.GetPacketType() == 3); - BOOST_CHECK(packetTest1.GetPacketClass() == 5); + uint32_t length = 4; + std::unique_ptr<char[]> packetData0 = std::make_unique<char[]>(length); + std::unique_ptr<char[]> packetData1 = std::make_unique<char[]>(0); + std::unique_ptr<char[]> nullPacketData; + + Packet packetTest0(472580096, length, packetData0); + + BOOST_CHECK(packetTest0.GetHeader() == 472580096); + BOOST_CHECK(packetTest0.GetPacketFamily() == 7); + BOOST_CHECK(packetTest0.GetPacketId() == 43); + BOOST_CHECK(packetTest0.GetLength() == length); + BOOST_CHECK(packetTest0.GetPacketType() == 3); + BOOST_CHECK(packetTest0.GetPacketClass() == 5); + + BOOST_CHECK_THROW(Packet packetTest1(472580096, 0, packetData1), armnn::Exception); + BOOST_CHECK_NO_THROW(Packet packetTest2(472580096, 0, nullPacketData)); + + Packet packetTest3(472580096, 0, nullPacketData); + BOOST_CHECK(packetTest3.GetLength() == 0); + BOOST_CHECK(packetTest3.GetData() == nullptr); + + const char* packetTest0Data = packetTest0.GetData(); + Packet packetTest4(std::move(packetTest0)); + + BOOST_CHECK(packetTest0.GetData() == nullptr); + BOOST_CHECK(packetTest4.GetData() == packetTest0Data); + + BOOST_CHECK(packetTest4.GetHeader() == 472580096); + BOOST_CHECK(packetTest4.GetPacketFamily() == 7); + BOOST_CHECK(packetTest4.GetPacketId() == 43); + BOOST_CHECK(packetTest4.GetLength() == length); + BOOST_CHECK(packetTest4.GetPacketType() == 3); + BOOST_CHECK(packetTest4.GetPacketClass() == 5); } // Create Derived Classes @@ -186,9 +204,13 @@ BOOST_AUTO_TEST_CASE(CheckCommandHandlerFunctor) it++; BOOST_CHECK(it->first==keyC); - Packet packetA(500000000, 0, nullptr); - Packet packetB(600000000, 0, nullptr); - Packet packetC(400000000, 0, nullptr); + std::unique_ptr<char[]> packetDataA; + std::unique_ptr<char[]> packetDataB; + std::unique_ptr<char[]> packetDataC; + + Packet packetA(500000000, 0, packetDataA); + Packet packetB(600000000, 0, packetDataB); + Packet packetC(400000000, 0, packetDataC); // Check the correct operator of derived class is called registry.at(CommandHandlerKey(packetA.GetPacketId(), version))->operator()(packetA); @@ -224,9 +246,13 @@ BOOST_AUTO_TEST_CASE(CheckCommandHandlerRegistry) registry.RegisterFunctor(&testFunctorB, testFunctorB.GetPacketId(), testFunctorB.GetVersion()); registry.RegisterFunctor(&testFunctorC, testFunctorC.GetPacketId(), testFunctorC.GetVersion()); - Packet packetA(500000000, 0, nullptr); - Packet packetB(600000000, 0, nullptr); - Packet packetC(400000000, 0, nullptr); + std::unique_ptr<char[]> packetDataA; + std::unique_ptr<char[]> packetDataB; + std::unique_ptr<char[]> packetDataC; + + Packet packetA(500000000, 0, packetDataA); + Packet packetB(600000000, 0, packetDataB); + Packet packetC(400000000, 0, packetDataC); // Check the correct operator of derived class is called registry.GetFunctor(packetA.GetPacketId(), version)->operator()(packetA); @@ -561,16 +587,18 @@ BOOST_AUTO_TEST_CASE(CounterSelectionCommandHandlerParseData) // Data with period and counters uint32_t period1 = 10; uint32_t dataLength1 = 8; - unsigned char data1[dataLength1]; uint32_t offset = 0; + std::unique_ptr<char[]> uniqueData1 = std::make_unique<char[]>(dataLength1); + unsigned char* data1 = reinterpret_cast<unsigned char*>(uniqueData1.get()); + WriteUint32(data1, offset, period1); offset += sizeOfUint32; WriteUint16(data1, offset, 4000); offset += sizeOfUint16; WriteUint16(data1, offset, 5000); - Packet packetA(packetId, dataLength1, reinterpret_cast<const char*>(data1)); + Packet packetA(packetId, dataLength1, uniqueData1); PeriodicCounterSelectionCommandHandler commandHandler(packetId, version, holder, captureThread, sendCounterPacket); @@ -611,11 +639,12 @@ BOOST_AUTO_TEST_CASE(CounterSelectionCommandHandlerParseData) // Data with period only uint32_t period2 = 11; uint32_t dataLength2 = 4; - unsigned char data2[dataLength2]; - WriteUint32(data2, 0, period2); + std::unique_ptr<char[]> uniqueData2 = std::make_unique<char[]>(dataLength2); + + WriteUint32(reinterpret_cast<unsigned char*>(uniqueData2.get()), 0, period2); - Packet packetB(packetId, dataLength2, reinterpret_cast<const char*>(data2)); + Packet packetB(packetId, dataLength2, uniqueData2); commandHandler(packetB); |