From 80faf01cf46be498de761a40dd7e7f5f5df955bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Wed, 29 Apr 2026 02:03:52 -0300 Subject: [PATCH] Tolerate a minor difference in border visual tests due to graphics drivers behaving slightly different to render rounded corners. --- src/tests/unit_tests/compareimages.hpp | 7 ++++--- src/tests/unit_tests/uihtml_tests.cpp | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/tests/unit_tests/compareimages.hpp b/src/tests/unit_tests/compareimages.hpp index aeb6289d9..cc85dca83 100644 --- a/src/tests/unit_tests/compareimages.hpp +++ b/src/tests/unit_tests/compareimages.hpp @@ -14,7 +14,8 @@ using namespace EE::Window; static void compareImages( utest_state_s& utest_state, int* utest_result, EE::Window::Window* win, const std::string& imageName, - const std::string& imagesFolder = "fontrendering" ) { + const std::string& imagesFolder = "fontrendering", + int allowedNumDifferentPixels = 0 ) { auto saveType = Image::SaveType::WEBP; auto saveExt( Image::saveTypeToExtension( saveType ) ); std::string expectedImagePath( "assets/" + imagesFolder + "/" + imageName + "." + saveExt ); @@ -34,8 +35,8 @@ static void compareImages( utest_state_s& utest_state, int* utest_result, EE::Wi EXPECT_EQ_MSG( expectedImage.getHeight(), actualImage.getHeight(), "Images height not equal" ); Image::DiffResult result = actualImage.diff( expectedImage ); - EXPECT_TRUE( result.areSame() ); - if ( !result.areSame() ) { + EXPECT_LE( result.numDifferentPixels, allowedNumDifferentPixels ); + if ( result.numDifferentPixels > allowedNumDifferentPixels ) { auto saveExt( Image::saveTypeToExtension( saveType ) ); std::string withTextShaper = Text::TextShaperEnabled diff --git a/src/tests/unit_tests/uihtml_tests.cpp b/src/tests/unit_tests/uihtml_tests.cpp index 9eff2ba6d..bf69198b3 100644 --- a/src/tests/unit_tests/uihtml_tests.cpp +++ b/src/tests/unit_tests/uihtml_tests.cpp @@ -832,7 +832,7 @@ UTEST( UIBorder, renderingVariations ) { SceneManager::instance()->draw(); win->display(); - compareImages( utest_state, utest_result, win, "eepp-ui-border-rendering", "html" ); + compareImages( utest_state, utest_result, win, "eepp-ui-border-rendering", "html", 4 ); Engine::destroySingleton(); } @@ -866,7 +866,7 @@ UTEST( UIBorder, renderingVariations2 ) { SceneManager::instance()->draw(); win->display(); - compareImages( utest_state, utest_result, win, "eepp-ui-border-rendering-2", "html" ); + compareImages( utest_state, utest_result, win, "eepp-ui-border-rendering-2", "html", 4 ); Engine::destroySingleton(); }