summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shalamov <alexander.shalamov@mapbox.com>2019-11-29 15:07:42 +0200
committerAlexander Shalamov <alexander.shalamov@mapbox.com>2019-12-02 11:08:34 +0200
commitf81138161500675cc3c0fca92608682b07bfc32c (patch)
treecf37f056ba516013924b529c920bb5fa6991bc1f
parent00d133239e22fc6df84f81596820ca46afb351bb (diff)
downloadqtlocation-mapboxgl-upstream/alexshalamov_log_all_filesize_failures.tar.gz
[test-runner] Log all 'probeFileSize' failuresupstream/alexshalamov_log_all_filesize_failures
If there are multiple file size probes in a test file, it is better to report all failures instead of first failed probe.
-rw-r--r--render-test/runner.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/render-test/runner.cpp b/render-test/runner.cpp
index 24bc6668d7..4f4c163b7d 100644
--- a/render-test/runner.cpp
+++ b/render-test/runner.cpp
@@ -360,6 +360,7 @@ bool TestRunner::checkProbingResults(TestMetadata& metadata) {
// Check file size metrics.
auto checkFileSize = [](TestMetadata& metadata) -> bool {
if (metadata.metrics.fileSize.empty()) return true;
+ bool passed = true;
for (const auto& expected : metadata.expectedMetrics.fileSize) {
auto actual = metadata.metrics.fileSize.find(expected.first);
if (actual == metadata.metrics.fileSize.end()) {
@@ -378,14 +379,16 @@ bool TestRunner::checkProbingResults(TestMetadata& metadata) {
auto result = checkValue(expected.second.size, actual->second.size, actual->second.tolerance);
if (!std::get<bool>(result)) {
std::stringstream ss;
- ss << "File size does not match at probe \"" << expected.first << "\": " << actual->second.size
- << ", expected is " << expected.second.size << ".";
+ ss << "File size does not match at probe \"" << expected.first << "\" for file \""
+ << expected.second.path << "\": " << actual->second.size << ", expected is " << expected.second.size
+ << ".";
- metadata.errorMessage = ss.str();
- return false;
+ metadata.errorMessage += metadata.errorMessage.empty() ? ss.str() : "\n" + ss.str();
+ passed = false;
+ continue;
}
}
- return true;
+ return passed;
};
auto checkMemory = [](TestMetadata& metadata) -> bool {
if (metadata.metrics.memory.empty()) return true;