IVGCVSW-7282 Issues in ExNet when iterations and number of inputs do not match

Signed-off-by: Cathal Corbett <cathal.corbett@arm.com>
Change-Id: Ib30fc633a10b6ff8090b50314278fe5dc46fb250
diff --git a/tests/ExecuteNetwork/ArmNNExecutor.cpp b/tests/ExecuteNetwork/ArmNNExecutor.cpp
index 330a239..fe84437 100644
--- a/tests/ExecuteNetwork/ArmNNExecutor.cpp
+++ b/tests/ExecuteNetwork/ArmNNExecutor.cpp
@@ -304,6 +304,17 @@
                         " not compatible with number of inputs: " + std::to_string(noOfInputs));
         }
         noInputSets = inputFilePaths / noOfInputs;
+        // use the same inputSet per iteration or
+        // there should be a 1:1 mapping between inputSets and iterations
+        if (noInputSets != 1 ||
+            noInputSets != m_Params.m_Iterations)
+        {
+            LogAndThrow("The input model accepts " + std::to_string(noOfInputs) + " inputs. "
+                + std::to_string(inputFilePaths) + " input-tensor-data file paths have been provided. "
+                "ExecuteNetwork expects to perform " + std::to_string(noInputSets) + " inference(s) but "
+                "the iterations number provided is " + std::to_string(m_Params.m_Iterations) + "."
+                "Please amend the iterations or input-tensor-data parameter.");
+        }
         if (noInputSets != 1 && m_Params.m_ReuseBuffers)
         {
             LogAndThrow("Specifying multiple sets of inputs not compatible with ReuseBuffers");