From bd9e2c546d83fa654d8e764ef755b1ded0cd1ff8 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Thu, 26 Sep 2019 23:13:31 +0100 Subject: IVGCVSW-3557 Return IProfilingConnection from ProfilingConnectionFactory * Remove WaitingForAck test, test std::cerr instead Signed-off-by: Kevin May Signed-off-by: Sadik Armagan Change-Id: I968c53dc005ff078ed08faf8818c83cb2a41528a --- src/profiling/test/ProfilingTests.cpp | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'src/profiling/test') diff --git a/src/profiling/test/ProfilingTests.cpp b/src/profiling/test/ProfilingTests.cpp index a474c309e8..5ef9811b2c 100644 --- a/src/profiling/test/ProfilingTests.cpp +++ b/src/profiling/test/ProfilingTests.cpp @@ -27,11 +27,13 @@ #include -#include +#include #include +#include #include #include +#include #include #include #include @@ -663,17 +665,32 @@ BOOST_AUTO_TEST_CASE(CheckProfilingServiceDisabled) BOOST_CHECK(service.GetCurrentState() == ProfilingState::Uninitialised); } +struct cerr_redirect { + cerr_redirect(std::streambuf* new_buffer) + : old( std::cerr.rdbuf(new_buffer)) {} + + ~cerr_redirect( ) { + std::cerr.rdbuf(old); + } + +private: + std::streambuf* old; +}; + BOOST_AUTO_TEST_CASE(CheckProfilingServiceEnabled) { armnn::Runtime::CreationOptions::ExternalProfilingOptions options; options.m_EnableProfiling = true; ProfilingService service(options); BOOST_CHECK(service.GetCurrentState() == ProfilingState::NotConnected); + + // As there is no daemon running a connection cannot be made so expect a std::cerr to console + std::stringstream ss; + cerr_redirect guard(ss.rdbuf()); service.Run(); - BOOST_CHECK(service.GetCurrentState() == ProfilingState::WaitingForAck); + BOOST_CHECK(boost::contains(ss.str(), "Cannot connect to stream socket: Connection refused")); } - BOOST_AUTO_TEST_CASE(CheckProfilingServiceEnabledRuntime) { armnn::Runtime::CreationOptions::ExternalProfilingOptions options; @@ -684,8 +701,12 @@ BOOST_AUTO_TEST_CASE(CheckProfilingServiceEnabledRuntime) options.m_EnableProfiling = true; service.ResetExternalProfilingOptions(options); BOOST_CHECK(service.GetCurrentState() == ProfilingState::NotConnected); + + // As there is no daemon running a connection cannot be made so expect a std::cerr to console + std::stringstream ss; + cerr_redirect guard(ss.rdbuf()); service.Run(); - BOOST_CHECK(service.GetCurrentState() == ProfilingState::WaitingForAck); + BOOST_CHECK(boost::contains(ss.str(), "Cannot connect to stream socket: Connection refused")); } BOOST_AUTO_TEST_CASE(CheckProfilingServiceCounterDirectory) -- cgit v1.2.1