// // Copyright © 2017 Arm Ltd. All rights reserved. // SPDX-License-Identifier: MIT // #include #include // 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); }