aboutsummaryrefslogtreecommitdiff
path: root/tests/validation/Validation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/validation/Validation.cpp')
-rw-r--r--tests/validation/Validation.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/tests/validation/Validation.cpp b/tests/validation/Validation.cpp
index aa70e6e794..ebca1936e7 100644
--- a/tests/validation/Validation.cpp
+++ b/tests/validation/Validation.cpp
@@ -297,11 +297,24 @@ void validate(std::vector<unsigned int> classified_labels, std::vector<unsigned
{
ARM_COMPUTE_EXPECT_EQUAL(classified_labels.size(), expected_labels.size(), framework::LogLevel::ERRORS);
- const int min_num = std::min(classified_labels.size(), expected_labels.size());
+ int64_t num_mismatches = 0;
+ const int num_elements = std::min(classified_labels.size(), expected_labels.size());
+
+ for(int i = 0; i < num_elements; ++i)
+ {
+ if(classified_labels[i] != expected_labels[i])
+ {
+ ++num_mismatches;
+ ARM_COMPUTE_EXPECT_EQUAL(classified_labels[i], expected_labels[i], framework::LogLevel::DEBUG);
+ }
+ }
- for(int i = 0; i < min_num; ++i)
+ if(num_elements > 0)
{
- ARM_COMPUTE_EXPECT_EQUAL(classified_labels[i], expected_labels[i], framework::LogLevel::ERRORS);
+ const float percent_mismatches = static_cast<float>(num_mismatches) / num_elements * 100.f;
+
+ ARM_COMPUTE_TEST_INFO(num_mismatches << " values (" << std::fixed << std::setprecision(2) << percent_mismatches << "%) mismatched");
+ ARM_COMPUTE_EXPECT_EQUAL(num_mismatches, 0, framework::LogLevel::ERRORS);
}
}
} // namespace validation