MLECO-4490: Upgrade MLEK Catch Unit tests

*Removed default behaviour of unit-test executables to redirect output
to file.
*Accompanying change made to CI script to generate xml files there instead.
*Switched to newer minor version of Catch.
*Note: Support for simultaneous output to console and file is available in new major version (Catch 3).

Other unit test cleanup:
* Redundant warnings about common tests output removed
* Static cast added to silence compiler warning
* Removed additional printing in RNNoiseModelTests

Signed-off-by: Liam Barry <liam.barry@arm.com>
Change-Id: If9d7f366ec205a7cd49a45198a15867ef7b75afd
diff --git a/tests/use_case/inference_runner/InferenceTestInferenceRunner.cc b/tests/use_case/inference_runner/InferenceTestInferenceRunner.cc
index 7988ae1..974d2c8 100644
--- a/tests/use_case/inference_runner/InferenceTestInferenceRunner.cc
+++ b/tests/use_case/inference_runner/InferenceTestInferenceRunner.cc
@@ -33,9 +33,6 @@
 
 TEST_CASE("Testing Init failure due to insufficient tensor arena inf runner", "[inf runner]")
 {
-    /* Note: Errors or warnings generated by this test will appear in output of any subsequent
-     * failing tests causing misleading output. Give warning until solution is found */
-    printf("Insufficient tensor arena test output:\n");
     arm::app::TestModel model{};
     REQUIRE_FALSE(model.IsInited());
     size_t insufficientTensorArenaSz = 1000;
@@ -43,8 +40,5 @@
                              insufficientTensorArenaSz,
                              arm::app::inference_runner::GetModelPointer(),
                              arm::app::inference_runner::GetModelLen()));
-
-    printf("End of insufficient tensor arena test output. \nERROR messages above this line are "
-           "expected and can be ignored.\n\n");
     REQUIRE_FALSE(model.IsInited());
 }
diff --git a/tests/use_case/noise_reduction/RNNoiseModelTests.cc b/tests/use_case/noise_reduction/RNNoiseModelTests.cc
index 7262275..d08c5f3 100644
--- a/tests/use_case/noise_reduction/RNNoiseModelTests.cc
+++ b/tests/use_case/noise_reduction/RNNoiseModelTests.cc
@@ -1,5 +1,5 @@
 /*
- * SPDX-FileCopyrightText: Copyright 2021 Arm Limited and/or its affiliates <open-source-office@arm.com>
+ * SPDX-FileCopyrightText: Copyright 2021,2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
  * SPDX-License-Identifier: Apache-2.0
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -104,26 +104,6 @@
 
 };
 
-template <class T>
-void printArray(size_t dataSz, T data){
-    char strhex[8];
-    std::string strdump;
-
-    for (size_t i = 0; i < dataSz; ++i) {
-        if (0 == i % 8) {
-            printf("%s\n\t", strdump.c_str());
-            strdump.clear();
-        }
-        snprintf(strhex, sizeof(strhex) - 1,
-                 "0x%02x, ", data[i]);
-        strdump += std::string(strhex);
-    }
-
-    if (!strdump.empty()) {
-        printf("%s\n", strdump.c_str());
-    }
-}
-
 /* This is true for gcc x86 platform, not guaranteed for other compilers and platforms. */
 TEST_CASE("Test initial GRU out state is 0", "[RNNoise]")
 {
@@ -134,14 +114,10 @@
                arm::app::rnn::GetModelLen());
 
     auto map = model.GetStateMap();
-
     for(auto& mapping: map) {
         TfLiteTensor* gruOut = model.GetOutputTensor(mapping.first);
         auto* outGruState = tflite::GetTensorData<uint8_t>(gruOut);
 
-        printf("gru out state:");
-        printArray(gruOut->bytes, outGruState);
-
         for (size_t tIndex = 0;  tIndex < gruOut->bytes; tIndex++) {
             REQUIRE(outGruState[tIndex] == 0);
         }