aboutsummaryrefslogtreecommitdiff
path: root/src/armnn/test/ExecutionFrameTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/armnn/test/ExecutionFrameTest.cpp')
-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);
+}
+