aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/test
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2019-04-10 13:59:49 +0100
committerteresa.charlinreyes <teresa.charlinreyes@arm.com>2019-04-23 09:56:18 +0000
commit4de9f67c91b9224f447bd4a50b67129064b8c824 (patch)
tree46553bf229b195ba58bc23d3d967b60cdaedbc49 /src/armnn/test
parent8271f8144db825960699fffd190ab3e546ee65fc (diff)
downloadarmnn-4de9f67c91b9224f447bd4a50b67129064b8c824.tar.gz
IVGCVSW-2918 Implement ExecutionFrame.
*Add interface IExecutionFrame. *Add basic implementation ExecutionFrame. *Add Unit Test Change-Id: I960ac84a05c0c9b03735ec5e9c63f6f8f95b57b5 Signed-off-by: Kevin May <kevin.may@arm.com> Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Signed-off-by: Aron Virginas-Tar <Aron.Virginas-Tar@arm.com>
Diffstat (limited to 'src/armnn/test')
-rw-r--r--src/armnn/test/ExecutionFrameTest.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/armnn/test/ExecutionFrameTest.cpp b/src/armnn/test/ExecutionFrameTest.cpp
new file mode 100644
index 0000000000..c3480217a8
--- /dev/null
+++ b/src/armnn/test/ExecutionFrameTest.cpp
@@ -0,0 +1,38 @@
+//
+// Copyright © 2017 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#include <boost/test/unit_test.hpp>
+
+#include <ExecutionFrame.hpp>
+
+// Test that the values set in m_NextExecutionFrame are correct.
+// The execution order is given by the m_NextExecutionFrame in each ExecutionFrame.
+// A
+// |
+// B
+// |
+// C
+BOOST_AUTO_TEST_CASE(NextExecutionFrameTest)
+{
+ armnn::ExecutionFrame executionFrameA;
+ armnn::ExecutionFrame executionFrameB;
+ armnn::ExecutionFrame executionFrameC;
+
+ executionFrameA.SetNextExecutionFrame(&executionFrameB);
+ executionFrameB.SetNextExecutionFrame(&executionFrameC);
+ //not setting C to check that the default setting is nullptr.
+
+ auto nextExecutionFrameA = executionFrameA.ExecuteWorkloads(nullptr);
+ auto nextExecutionFrameB = executionFrameB.ExecuteWorkloads(&executionFrameA);
+ auto nextExecutionFrameC = executionFrameC.ExecuteWorkloads(&executionFrameB);
+
+ BOOST_CHECK_EQUAL(nextExecutionFrameA, &executionFrameB);
+ BOOST_CHECK_EQUAL(nextExecutionFrameB, &executionFrameC);
+
+ BOOST_CHECK(!nextExecutionFrameC);
+
+ BOOST_CHECK_NE(nextExecutionFrameA, &executionFrameC);
+}
+