From 59da369d2a66e49eb0f84d596ed7162621c32d06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89anna=20=C3=93=20Cath=C3=A1in?= Date: Thu, 16 Apr 2020 08:54:12 +0100 Subject: MLECO-712 Enable creation of runtime with external profiling support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ie0af439817eb4ed70e6112b2eb6f4a2c787a6bd0 Signed-off-by: Éanna Ó Catháin --- python/pyarmnn/test/test_runtime.py | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'python/pyarmnn/test/test_runtime.py') diff --git a/python/pyarmnn/test/test_runtime.py b/python/pyarmnn/test/test_runtime.py index 2943be8f16..ff0ad40b55 100644 --- a/python/pyarmnn/test/test_runtime.py +++ b/python/pyarmnn/test/test_runtime.py @@ -14,6 +14,7 @@ def random_runtime(shared_data_folder): network = parser.CreateNetworkFromBinaryFile(os.path.join(shared_data_folder, 'mock_model.tflite')) preferred_backends = [ann.BackendId('CpuRef')] options = ann.CreationOptions() + runtime = ann.IRuntime(options) graphs_count = parser.GetSubgraphCount() @@ -95,7 +96,6 @@ def test_python_disowns_network(random_runtime): assert not opt_network.thisown - def test_load_network(random_runtime): preferred_backends = random_runtime[0] network = random_runtime[1] @@ -108,6 +108,40 @@ def test_load_network(random_runtime): assert "" == messages assert net_id == 0 +def test_create_runtime_with_external_profiling_enabled(): + + options = ann.CreationOptions() + + options.m_ProfilingOptions.m_FileOnly = True + options.m_ProfilingOptions.m_EnableProfiling = True + options.m_ProfilingOptions.m_OutgoingCaptureFile = "/tmp/outgoing.txt" + options.m_ProfilingOptions.m_IncomingCaptureFile = "/tmp/incoming.txt" + options.m_ProfilingOptions.m_TimelineEnabled = True + options.m_ProfilingOptions.m_CapturePeriod = 1000 + options.m_ProfilingOptions.m_FileFormat = "JSON" + + runtime = ann.IRuntime(options) + + assert runtime is not None + +def test_create_runtime_with_external_profiling_enabled_invalid_options(): + + options = ann.CreationOptions() + + options.m_ProfilingOptions.m_FileOnly = True + options.m_ProfilingOptions.m_EnableProfiling = False + options.m_ProfilingOptions.m_OutgoingCaptureFile = "/tmp/outgoing.txt" + options.m_ProfilingOptions.m_IncomingCaptureFile = "/tmp/incoming.txt" + options.m_ProfilingOptions.m_TimelineEnabled = True + options.m_ProfilingOptions.m_CapturePeriod = 1000 + options.m_ProfilingOptions.m_FileFormat = "JSON" + + with pytest.raises(RuntimeError) as err: + runtime = ann.IRuntime(options) + + expected_error_message = "It is not possible to enable timeline reporting without profiling being enabled" + assert expected_error_message in str(err.value) + def test_load_network_properties_provided(random_runtime): preferred_backends = random_runtime[0] -- cgit v1.2.1