diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-09-30 16:20:20 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-10-04 10:13:25 +0100 |
commit | 0ec068f220daf03049a9ffb5ac53118162f50106 (patch) | |
tree | bf0673657c6ff328a70346f7fb4f714143af17b6 /src/profiling/test/BufferTests.cpp | |
parent | 6b0f3c6d7025fb26bd2a7733dbfba02afaa44313 (diff) | |
download | armnn-0ec068f220daf03049a9ffb5ac53118162f50106.tar.gz |
IVGCVSW-3904 Add more unit tests for send thread with BufferManager
* Add timeout parameter to wait for readable data
* Write all readable data to the profiling connection when ready to read
* Set ready to read when buffer exhaust
* Ensure that readable data get written to profiling connection
before the send thread is stopped
* Add MockWriteProfilingConnection to be able to test WritePacket
* Refactor BufferManager and the unit tests
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I80ae01bd8d0119a3a3a957069ae8ac521c005a12
Diffstat (limited to 'src/profiling/test/BufferTests.cpp')
-rw-r--r-- | src/profiling/test/BufferTests.cpp | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/src/profiling/test/BufferTests.cpp b/src/profiling/test/BufferTests.cpp index a2f3c30849..7a06843ab3 100644 --- a/src/profiling/test/BufferTests.cpp +++ b/src/profiling/test/BufferTests.cpp @@ -130,7 +130,9 @@ BOOST_AUTO_TEST_CASE(BufferReserveExceedingSpaceTest) unsigned int reservedSize = 0; // Cannot reserve buffer bigger than maximum buffer size - BOOST_CHECK_THROW(bufferManager.Reserve(1024, reservedSize), armnn::InvalidArgumentException); + auto reservedBuffer = bufferManager.Reserve(1024, reservedSize); + BOOST_TEST(reservedSize == 0); + BOOST_TEST(!reservedBuffer.get()); } BOOST_AUTO_TEST_CASE(BufferExhaustionTest) @@ -144,7 +146,9 @@ BOOST_AUTO_TEST_CASE(BufferExhaustionTest) BOOST_TEST(packetBuffer.get()); // Cannot reserve buffer when buffer is not available - BOOST_CHECK_THROW(bufferManager.Reserve(512, reservedSize), BufferExhaustion); + auto reservedBuffer = bufferManager.Reserve(512, reservedSize); + BOOST_TEST(reservedSize == 0); + BOOST_TEST(!reservedBuffer.get()); } BOOST_AUTO_TEST_CASE(BufferReserveMultipleTest) @@ -173,7 +177,9 @@ BOOST_AUTO_TEST_CASE(BufferReserveMultipleTest) // Cannot reserve when buffer is not available unsigned int reservedSize3 = 0; - BOOST_CHECK_THROW(bufferManager.Reserve(512, reservedSize3), BufferExhaustion); + auto reservedBuffer = bufferManager.Reserve(512, reservedSize3); + BOOST_TEST(reservedSize3 == 0); + BOOST_TEST(!reservedBuffer.get()); } BOOST_AUTO_TEST_CASE(BufferReleaseTest) @@ -195,7 +201,9 @@ BOOST_AUTO_TEST_CASE(BufferReleaseTest) // Cannot reserve when buffer is not available unsigned int reservedSize2 = 0; - BOOST_CHECK_THROW(bufferManager.Reserve(512, reservedSize2), BufferExhaustion); + auto reservedBuffer = bufferManager.Reserve(512, reservedSize2); + BOOST_TEST(reservedSize2 == 0); + BOOST_TEST(!reservedBuffer.get()); bufferManager.Release(packetBuffer0); @@ -222,7 +230,9 @@ BOOST_AUTO_TEST_CASE(BufferCommitTest) BOOST_TEST(packetBuffer1.get()); unsigned int reservedSize2 = 0; - BOOST_CHECK_THROW(bufferManager.Reserve(512, reservedSize2), BufferExhaustion); + auto reservedBuffer = bufferManager.Reserve(512, reservedSize2); + BOOST_TEST(reservedSize2 == 0); + BOOST_TEST(!reservedBuffer.get()); bufferManager.Commit(packetBuffer0, 256); @@ -232,7 +242,10 @@ BOOST_AUTO_TEST_CASE(BufferCommitTest) BOOST_TEST(packetBuffer2->GetSize() == 256); // Buffer not set back to available list after commit - BOOST_CHECK_THROW(bufferManager.Reserve(512, reservedSize2), BufferExhaustion); + unsigned int reservedSize = 0; + reservedBuffer = bufferManager.Reserve(512, reservedSize); + BOOST_TEST(reservedSize == 0); + BOOST_TEST(!reservedBuffer.get()); } BOOST_AUTO_TEST_CASE(BufferMarkReadTest) @@ -252,7 +265,9 @@ BOOST_AUTO_TEST_CASE(BufferMarkReadTest) // Cannot reserve when buffer is not available unsigned int reservedSize2 = 0; - BOOST_CHECK_THROW(bufferManager.Reserve(512, reservedSize2), BufferExhaustion); + auto reservedBuffer = bufferManager.Reserve(512, reservedSize2); + BOOST_TEST(reservedSize2 == 0); + BOOST_TEST(!reservedBuffer.get()); bufferManager.Commit(packetBuffer0, 256); @@ -262,7 +277,9 @@ BOOST_AUTO_TEST_CASE(BufferMarkReadTest) BOOST_TEST(packetBuffer2->GetSize() == 256); // Buffer not set back to available list after commit - BOOST_CHECK_THROW(bufferManager.Reserve(512, reservedSize2), BufferExhaustion); + reservedBuffer = bufferManager.Reserve(512, reservedSize2); + BOOST_TEST(reservedSize2 == 0); + BOOST_TEST(!reservedBuffer.get()); bufferManager.MarkRead(packetBuffer2); |