diff options
author | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2019-11-28 18:12:13 +0200 |
---|---|---|
committer | Thiago Marcos P. Santos <tmpsantos@gmail.com> | 2019-11-28 19:18:17 +0200 |
commit | 8c9b038af3723252014362557bba9e9c43780ff3 (patch) | |
tree | b768eb51c949dd09823c21ca81de4b4e1fc113cd /render-test | |
parent | b5794730b5cfba58be0aa63070718cde662bb538 (diff) | |
download | qtlocation-mapboxgl-8c9b038af3723252014362557bba9e9c43780ff3.tar.gz |
[render-test] Add support for measuring compressed file size
Useful because for platform such as Android, we want to measure
the size of the library inside the APK, which is usually compressed.
Diffstat (limited to 'render-test')
-rw-r--r-- | render-test/runner.cpp | 16 | ||||
-rw-r--r-- | render-test/tests/file-size/pass-size-is-same/metrics.json | 14 | ||||
-rw-r--r-- | render-test/tests/file-size/pass-size-is-same/style.json | 4 |
3 files changed, 30 insertions, 4 deletions
diff --git a/render-test/runner.cpp b/render-test/runner.cpp index 05ba089d81..24bc6668d7 100644 --- a/render-test/runner.cpp +++ b/render-test/runner.cpp @@ -12,6 +12,7 @@ #include <mbgl/style/rapidjson_conversion.hpp> #include <mbgl/style/style.hpp> #include <mbgl/util/chrono.hpp> +#include <mbgl/util/compression.hpp> #include <mbgl/util/image.hpp> #include <mbgl/util/io.hpp> #include <mbgl/util/run_loop.hpp> @@ -837,12 +838,25 @@ bool TestRunner::runOperations(const std::string& key, TestMetadata& metadata, R float tolerance = operationArray[3].GetDouble(); mbgl::filesystem::path filePath(path); + bool compressed = false; + if (operationArray.Size() == 5) { + assert(operationArray[4].IsString()); + assert(std::string(operationArray[4].GetString(), operationArray[4].GetStringLength()) == "compressed"); + compressed = true; + } + if (!filePath.is_absolute()) { filePath = metadata.paths.defaultExpectations() / filePath; } if (mbgl::filesystem::exists(filePath)) { - auto size = mbgl::filesystem::file_size(filePath); + size_t size = 0; + if (compressed) { + size = mbgl::util::compress(*mbgl::util::readFile(filePath)).size(); + } else { + size = mbgl::filesystem::file_size(filePath); + } + metadata.metrics.fileSize.emplace(std::piecewise_construct, std::forward_as_tuple(std::move(mark)), std::forward_as_tuple(std::move(path), size, tolerance)); diff --git a/render-test/tests/file-size/pass-size-is-same/metrics.json b/render-test/tests/file-size/pass-size-is-same/metrics.json index 3d560bd610..15f8c35617 100644 --- a/render-test/tests/file-size/pass-size-is-same/metrics.json +++ b/render-test/tests/file-size/pass-size-is-same/metrics.json @@ -6,9 +6,19 @@ 169 ], [ + "image-compressed", + "expected.png", + 167 + ], + [ "style", "style.json", - 516 + 674 + ], + [ + "style-compressed", + "style.json", + 256 ] ] -}
\ No newline at end of file +} diff --git a/render-test/tests/file-size/pass-size-is-same/style.json b/render-test/tests/file-size/pass-size-is-same/style.json index 839a8d4a12..b13f37500a 100644 --- a/render-test/tests/file-size/pass-size-is-same/style.json +++ b/render-test/tests/file-size/pass-size-is-same/style.json @@ -3,8 +3,10 @@ "metadata": { "test": { "operations": [ + ["probeFileSize", "image", "expected.png", 0], + ["probeFileSize", "image-compressed", "expected.png", 0, "compressed"], ["probeFileSize", "style", "style.json", 0], - ["probeFileSize", "image", "expected.png", 0] + ["probeFileSize", "style-compressed", "style.json", 0, "compressed"] ], "width": 64, "height": 64 |