Tolerate a minor difference in border visual tests due to graphics drivers behaving slightly different to render rounded corners.

This commit is contained in:
Martín Lucas Golini
2026-04-29 02:03:52 -03:00
parent 84331ad9ad
commit 80faf01cf4
2 changed files with 6 additions and 5 deletions

View File

@@ -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

View File

@@ -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();
}