If inference fails - exit before printing results.
It was easy to miss error message and mistakenly assume that execution succeeded.

Signed-off-by: alexander <alexander.efremov@arm.com>
Change-Id: I3c7beb5afe97db5df486e12e3bfe0e8e27e382f8
diff --git a/source/use_case/ad/src/UseCaseHandler.cc b/source/use_case/ad/src/UseCaseHandler.cc
index 8f86966..e99821f 100644
--- a/source/use_case/ad/src/UseCaseHandler.cc
+++ b/source/use_case/ad/src/UseCaseHandler.cc
@@ -194,7 +194,9 @@
                      audioDataSlider.TotalStrides() + 1);
 
                 /* Run inference over this audio clip sliding window */
-                arm::app::RunInference(model, profiler);
+                if (!RunInference(model, profiler)) {
+                    return false;
+                }
 
                 /* Use the negative softmax score of the corresponding index as the outlier score */
                 std::vector<float> dequantOutput = Dequantize<int8_t>(outputTensor);
diff --git a/source/use_case/asr/src/UseCaseHandler.cc b/source/use_case/asr/src/UseCaseHandler.cc
index efaefc2..7199785 100644
--- a/source/use_case/asr/src/UseCaseHandler.cc
+++ b/source/use_case/asr/src/UseCaseHandler.cc
@@ -174,7 +174,9 @@
                 prep.Invoke(inferenceWindow, inferenceWindowLen, inputTensor);
 
                 /* Run inference over this audio clip sliding window. */
-                arm::app::RunInference(model, profiler);
+                if (!RunInference(model, profiler)) {
+                    return false;
+                }
 
                 /* Post-process. */
                 postp.Invoke(outputTensor, reductionAxis, !audioDataSlider.HasNext());
diff --git a/source/use_case/img_class/src/UseCaseHandler.cc b/source/use_case/img_class/src/UseCaseHandler.cc
index ffeb860..22e6ba0 100644
--- a/source/use_case/img_class/src/UseCaseHandler.cc
+++ b/source/use_case/img_class/src/UseCaseHandler.cc
@@ -145,7 +145,9 @@
             info("Running inference on image %u => %s\n", ctx.Get<uint32_t>("imgIndex"),
                 get_filename(ctx.Get<uint32_t>("imgIndex")));
 
-            RunInference(model, profiler);
+            if (!RunInference(model, profiler)) {
+                return false;
+            }
 
             /* Erase. */
             str_inf = std::string(str_inf.size(), ' ');
diff --git a/source/use_case/inference_runner/src/UseCaseHandler.cc b/source/use_case/inference_runner/src/UseCaseHandler.cc
index a2b3fb7..a75b2e4 100644
--- a/source/use_case/inference_runner/src/UseCaseHandler.cc
+++ b/source/use_case/inference_runner/src/UseCaseHandler.cc
@@ -68,7 +68,9 @@
                                 str_inf.c_str(), str_inf.size(),
                                 dataPsnTxtInfStartX, dataPsnTxtInfStartY, 0);
 
-        RunInference(model, profiler);
+        if (!RunInference(model, profiler)) {
+            return false;
+        }
 
         /* Erase. */
         str_inf = std::string(str_inf.size(), ' ');
diff --git a/source/use_case/kws/src/UseCaseHandler.cc b/source/use_case/kws/src/UseCaseHandler.cc
index 4011df6..d61985d 100644
--- a/source/use_case/kws/src/UseCaseHandler.cc
+++ b/source/use_case/kws/src/UseCaseHandler.cc
@@ -216,7 +216,9 @@
                      audioDataSlider.TotalStrides() + 1);
 
                 /* Run inference over this audio clip sliding window. */
-                arm::app::RunInference(model, profiler);
+                if (!RunInference(model, profiler)) {
+                    return false;
+                }
 
                 std::vector<ClassificationResult> classificationResult;
                 auto& classifier = ctx.Get<KwsClassifier&>("classifier");
diff --git a/source/use_case/kws_asr/src/UseCaseHandler.cc b/source/use_case/kws_asr/src/UseCaseHandler.cc
index 1edc7c4..7025d6d 100644
--- a/source/use_case/kws_asr/src/UseCaseHandler.cc
+++ b/source/use_case/kws_asr/src/UseCaseHandler.cc
@@ -238,7 +238,10 @@
                  audioDataSlider.TotalStrides() + 1);
 
             /* Run inference over this audio clip sliding window. */
-            arm::app::RunInference(kwsModel, profiler);
+            if (!RunInference(kwsModel, profiler)) {
+                printf_err("KWS inference failed\n");
+                return output;
+            }
 
             std::vector<ClassificationResult> kwsClassificationResult;
             auto& kwsClassifier = ctx.Get<KwsClassifier&>("kwsclassifier");
@@ -391,7 +394,10 @@
             asrPrep.Invoke(asrInferenceWindow, asrInferenceWindowLen, asrInputTensor);
 
             /* Run inference over this audio clip sliding window. */
-            arm::app::RunInference(asrModel, profiler);
+            if (!RunInference(asrModel, profiler)) {
+                printf_err("ASR inference failed\n");
+                return false;
+            }
 
             /* Post-process. */
             asrPostp.Invoke(asrOutputTensor, reductionAxis, !audioDataSlider.HasNext());