-
-
Notifications
You must be signed in to change notification settings - Fork 300
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run render tests in CI #350
Comments
Searching for |
I think it is possible to run the render tests in linux with something like this: git clone --recurse-submodules -j8 https://github.com/maplibre/maplibre-gl-native.git
cd maplibre-gl-native
# build stuff
cmake . -B build -G Ninja -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10
cmake --build build -j $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null)
# run render test
./build/mbgl-render-test-runner --manifestPath metrics/linux-clang8-release-style.json &> render-test.log
# remove color stuff from log file
sed -i 's/\x1b\[[0-9;]*m//g' render-test.log See full output
|
The following 11 tests fail currently:
|
Ah, beautiful. By reverting the fix of #285, i.e., with if (maxLineHeight != lineHeight) {
shiftY = -blockHeight * verticalAlign - Shaping::yOffset;
} else {
- shiftY = (-verticalAlign * static_cast<float>(lineCount) + 0.5f) * lineHeight;
+ shiftY = (-verticalAlign * static_cast<float>(lineCount + 0.5)) * lineHeight;
} we get 298 failing tests... Here is one example: |
At commit cf41e11, i.e., right before #270, only one test failed. It was Full log
|
At 340f3d6 (Oct 2021), 71 tests fail icon-text-fit/enlargen-both. That was before the boost update. |
Oops 😊 But now knowing how to run these tests, we may be able to find the remaining typos that I produced. |
There is actually a nice website generated with all the test results. Here is an example with the failing tests from #339: |
Also why are some tests ignored? |
Ah interesting... Why tests are ignored I don't know. But have have that in MapLibre GL JS as well... |
closed by #357 |
MapLibre GL JS has render tests. They consist of a
style.json
file and anexpected.png
image. GL JS renders the style and compares the generatedactual.png
withexpected.png
. If the pixel difference is too large, the test fails. Here is an example:https://github.com/maplibre/maplibre-gl-js/tree/main/test/integration/render/tests/circle-color/default
MapLibre GL Native uses the exact same render tests as GL JS. There are test apps for iOS, Android, and linux which are there to run the render tests.
The android makefile has a run command:
https://github.com/maplibre/maplibre-gl-native/blob/5b3d936521040149e343f81ed4bd2ce24b75e690/platform/android/Makefile#L174-L191
I would like to find out if I can run the render tests manually, and if yes, how we can run them in CI...
The text was updated successfully, but these errors were encountered: