aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/test/ProfilingTests.cpp
diff options
context:
space:
mode:
authorIsabella Gottardi <isabella.gottardi@arm.com>2020-03-11 18:04:20 +0000
committerIsabella Gottardi <isabella.gottardi@arm.com>2020-03-19 18:25:33 +0000
commita0687eef149fbf57bb6db0621ec65724f550b1ed (patch)
treeb11b19403f5e4117eecf315072375a5d3ea84647 /src/profiling/test/ProfilingTests.cpp
parentea54a01f6bd30f013cbe88ae1751985bc86b6af5 (diff)
downloadarmnn-a0687eef149fbf57bb6db0621ec65724f550b1ed.tar.gz
MLECO-755: ArmNN: Add file format external profiling option
* Added new m_FileFormat variable in ExternalProfilingOptions * Added new profiling option to ExecuteNetwork * Added check for file format in ProfilingConnectionFactory * Added test in profiling tests Change-Id: I0e9cb8ecac919dc0ed03dcf77324a65621f07ae7 Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
Diffstat (limited to 'src/profiling/test/ProfilingTests.cpp')
-rw-r--r--src/profiling/test/ProfilingTests.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/profiling/test/ProfilingTests.cpp b/src/profiling/test/ProfilingTests.cpp
index 29c5299bd3..a631cb2356 100644
--- a/src/profiling/test/ProfilingTests.cpp
+++ b/src/profiling/test/ProfilingTests.cpp
@@ -3448,4 +3448,41 @@ BOOST_AUTO_TEST_CASE(CheckRegisterCounters)
BOOST_TEST(93 == readValue);
}
+BOOST_AUTO_TEST_CASE(CheckFileFormat) {
+ // Locally reduce log level to "Warning", as this test needs to parse a warning message from the standard output
+ LogLevelSwapper logLevelSwapper(armnn::LogSeverity::Warning);
+
+ // Create profiling options.
+ armnn::Runtime::CreationOptions::ExternalProfilingOptions options;
+ options.m_EnableProfiling = true;
+ // Check the default value set to binary
+ BOOST_CHECK(options.m_FileFormat == "binary");
+
+ // Change file format to an unsupported value
+ options.m_FileFormat = "json";
+ // Enable the profiling service
+ armnn::profiling::ProfilingService profilingService;
+ profilingService.ResetExternalProfilingOptions(options, true);
+ // Start the command handler and the send thread
+ profilingService.Update();
+ BOOST_CHECK(profilingService.GetCurrentState()==ProfilingState::NotConnected);
+
+ // Redirect the output to a local stream so that we can parse the warning message
+ std::stringstream ss;
+ StreamRedirector streamRedirector(std::cout, ss.rdbuf());
+
+ // When Update is called and the current state is ProfilingState::NotConnected
+ // an exception will be raised from GetProfilingConnection and displayed as warning in the output local stream
+ profilingService.Update();
+
+ streamRedirector.CancelRedirect();
+
+ // Check that the expected error has occurred and logged to the standard output
+ if (!boost::contains(ss.str(), "Unsupported profiling file format, only binary is supported"))
+ {
+ std::cout << ss.str();
+ BOOST_FAIL("Expected string not found.");
+ }
+}
+
BOOST_AUTO_TEST_SUITE_END()